Michael Drake
c8d76e68ca
Hide caret after reflow (textarea may have moved), but let textarea keep focus.
2013-03-27 13:57:10 +00:00
Michael Drake
3529d39759
Don't show caret when scrolling a textarea that hasn't been given focus.
2013-03-27 13:46:57 +00:00
Michael Drake
e2bcc5f5eb
Tidy up pointer beyond scrollbars.
2013-03-27 11:43:10 +00:00
Michael Drake
9a73da6347
Reduce multi-line textarea a bit more. When redrawing only one line, don't redraw unchanged text at the start of the line.
2013-03-26 14:07:08 +00:00
Michael Drake
0bb9543293
Further reduce redraw region for multi-line textareas when editing.
2013-03-26 12:54:19 +00:00
Michael Drake
53962009da
Trivial redraw optimisation for multiline textareas. Only redraw the line that was changed and below.
2013-03-25 12:37:18 +00:00
Michael Drake
cc4411c0c7
Remove some spaces.
2013-03-25 12:03:53 +00:00
Chris Young
7de97e8d6a
ensure the closest character is picked
2013-03-24 11:35:27 +00:00
Chris Young
f70e58b4a1
update posn_in_string loop to be similar to nsfont_split
2013-03-24 11:27:26 +00:00
Chris Young
e678df267e
Handle UTF-16 multi-length characters properly
2013-03-24 11:06:36 +00:00
Michael Drake
70fbca3606
Reduce redraw area for selection set/change/clear.
2013-03-22 18:14:42 +00:00
Michael Drake
b603cafbaa
Move line start calc into reflow handler.
2013-03-22 18:14:42 +00:00
Daniel Silverstone (parasomnia chroot)
b23c580f33
Merge remote-tracking branch 'origin/mmu_man/beos-fixes'
2013-03-22 08:08:36 +00:00
Ole Loots
c91db66e2d
Fixed handling of filepath passed via commandline.
2013-03-22 00:26:02 +01:00
François Revol
48dc679d7b
beos: Fix replicants
...
Waiting on the semaphore was not enough, it was causing a crash on
replicant removal. Now we wait for the replicant main thread to exit.
It fixes replicants, at least when a single one is used per application.
Using more than one still causes issues due to some libs not liking
being used twice (hlcache it seems).
2013-03-22 00:25:27 +01:00
François Revol
15cb6886f2
beos: update copyright years in the version info
2013-03-21 22:55:08 +01:00
François Revol
1f9e1ca84b
beos: Fix nsfont_position_in_string off-by-1
...
The current width was tested after the index was already
updated to the next character, leading to an off-by-one error,
and the impossibility to select the first character of a string
in textarea.
2013-03-21 22:10:35 +01:00
Michael Drake
ad53da023d
Optimise redraw of single line textarea. When single line textarea is unscrolled, only the changed area is redrawn after edits.
2013-03-21 18:47:38 +00:00
Michael Drake
948f2dbed6
Split reflow into two functions for single or multi line textareas.
2013-03-21 14:15:36 +00:00
Michael Drake
d0966c9d3f
Fix leaked utf16 string.
2013-03-20 22:22:36 +00:00
Michael Drake
91d05fc0f1
Ensure that actual_x is set when string fits inside available_width.
2013-03-20 22:07:22 +00:00
Michael Drake
918aa9d266
Fix error.
2013-03-20 20:59:00 +00:00
Michael Drake
138d2529ef
More meddling.
2013-03-20 20:55:03 +00:00
Michael Drake
5d7b1f40a3
Another attempt.
2013-03-20 20:06:24 +00:00
Michael Drake
8e360ff040
Robust detection of scroll changes.
2013-03-20 19:52:10 +00:00
Michael Drake
c568a9626b
Avoid double redraw when edit causes scroll.
2013-03-20 19:24:53 +00:00
Michael Drake
50efd110b8
Use cached line length to avoid some nsfont_width calls for selection rendering in redraw.
2013-03-20 18:09:52 +00:00
Michael Drake
3403891f63
Avoid redraw of scrollbars when they've not changed.
2013-03-20 17:53:38 +00:00
Michael Drake
71392160d0
Cache line widths. Fixes scrollbar issue introduced with partial reflow enablement. Will also be used for future redraw optimisations.
2013-03-20 17:32:18 +00:00
Michael Drake
ea4b7eb3a8
Try fixing Amiga nsfont_split. (Untested!)
2013-03-20 13:14:17 +00:00
Michael Drake
8cfa964cdf
Start reflow on line before change in text, rather than always reflowing the entire textarea.
2013-03-20 12:41:06 +00:00
Chris Young
5f7ed448d4
This needs to be set as CustomScreen to ensure it isn't classed as a "visitor" window, for reasons not fully understood.
2013-03-20 08:28:08 +00:00
Chris Young
22c7c1259b
We are opening on a public screen, not a custom screen (even our own screen is a public screen)
2013-03-20 08:22:03 +00:00
John-Mark Bell
09086758e7
Fix 3608298: only apply link hack if JS is disabled.
2013-03-19 21:38:25 +00:00
Michael Drake
0bcbdba424
Comment fixes.
2013-03-19 17:29:55 +00:00
Michael Drake
b1082c09e7
Fix warnings.
2013-03-19 16:28:05 +00:00
Michael Drake
2ad0d23915
Start reducing unnecessary redraws: when only start OR end of selection has changed, only redraw the lines affected. (Reduces redraw of vertical regions only. Still redraw full width for changed lines.)
2013-03-19 16:22:24 +00:00
Michael Drake
f4ce62ebfe
In box textarea binding only redraw the area that was requested, not the whole textarea.
2013-03-19 12:44:03 +00:00
Michael Drake
dd704c2c43
Fix can paste/copy tests.
2013-03-18 23:06:06 +00:00
Michael Drake
74a82e2ab0
Fix menu shading of copy/cut/paste options when more than one of them should be made available.
2013-03-18 22:48:15 +00:00
Michael Drake
773cc5b562
Stop looking on first modified sheet found.
2013-03-18 15:01:56 +00:00
Michael Drake
07bdb324c1
Remove extra logging.
2013-03-18 14:57:29 +00:00
Michael Drake
5930e4bcc4
Fix bug where html conversion began before STYLE element fetch had been launched.
2013-03-18 14:48:00 +00:00
Michael Drake
bf69cfa74b
Add some extra logging. Some pedantic wrap changes.
2013-03-18 12:35:00 +00:00
Michael Drake
8d0c1f9207
Loads of changes including fixes, new functionality, and optimisation.
...
+ Refactor internals to be byte, rather than character based.
+ Don't need to hammer utf8_* functions everywhere
+ Optimises:
+ Redraw (lots)
+ Editing (insertion, replacement, removal)
+ Caret placement
+ Selection
+ Early avoid of zero length autoscroll during selection drag.
+ Optimised redraw to avoid nsfont_width when:
+ There's no selection at all.
+ We're on last part of line, and it's unselected.
+ Implemented WORD_LEFT and WORD_RIGHT keys (shift + cursor left/right)
+ Fixed UP and DOWN (cursor up/down) keys to handle non-monospace fonts.
(Now based on 'x' offset on line, rather than character offset on line.)
+ Fixed PAGE_UP and PAGE_DOWN to scroll without moving the caret.
+ Fixed redraw bug in text selection edge case.
+ Changed textarea_replace_text and textarea_insert_text to return
a byte delta for caret position changes.
+ Coordinate to text offset function handles global and viewport coords.
+ Many small improvements and tidying.
2013-03-17 22:06:48 +00:00
Michael Drake
c3f21572ed
Add function to get the byte length of n characters in a utf8 string.
2013-03-17 22:01:42 +00:00
Michael Drake
c205378a8d
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
2013-03-16 10:53:20 +00:00
John-Mark Bell
3801886aec
Debounce style updates
2013-03-16 10:50:17 +00:00
John-Mark Bell
4136a4d64e
Move public API to end
2013-03-16 10:33:28 +00:00
John-Mark Bell
6e5e5761fc
Ensure a reference is taken on style nodes.
2013-03-16 01:00:06 +00:00