Commit Graph

9029 Commits

Author SHA1 Message Date
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
Michael Drake 2af4b5be01 Make textarea_get_caret private. 2013-03-13 11:23:07 +00:00
Vincent Sanders 95e726c7cc split sources lists out to their subdirectories as first step towards using core buildsystem 2013-03-11 17:53:52 +00:00
Michael Drake 41e4928e25 Fix pointer shape and status bar messages for textareas and their scrollbars. 2013-03-11 12:57:33 +00:00
Vincent Sanders f3b515540e move javascript makefile 2013-03-11 11:09:47 +00:00
Ole Loots fffaa149bc Correctly set initial size of the search area. 2013-03-11 01:16:37 +01:00
Ole Loots 939f078dd8 Fixed / Improved commandline URL handling.
- It's now possible to drag local files onto netsurf executable.
- Added better resource file logging (THING passes strange CWD)
2013-03-11 00:53:22 +01:00
Ole Loots 0ec72e3415 Removed toolbar 2013-03-11 00:52:54 +01:00
François Revol f3c0b643b6 beos: Set the filename in the download file panel 2013-03-09 21:03:16 +01:00
Adrien Destugues - PulkoMandy 29f062e963 beos: Fix some cpp warnings 2013-03-09 20:51:22 +01:00
François Revol e31007f6a7 C89 2013-03-09 20:44:25 +01:00
Chris Young 20e4bdadaf Support old picture.datatype 2013-03-09 15:29:30 +00:00
Michael Drake 490de208d0 Make autoscroll start at inside edge of border or scrollbar. 2013-03-06 21:31:20 +00:00
Michael Drake c1628435f2 Fix min line width calc when an inline isn't to be wrapped in a block that allows wrap. 2013-03-06 18:39:38 +00:00
Michael Drake e3cb0ba450 Pull scrollbar mouse handling out into helper function. 2013-03-06 15:41:51 +00:00
Michael Drake 5b7643634f Textarea sends caret hide msg if caret completely outside visible area. 2013-03-06 14:28:34 +00:00
Michael Drake 951a584705 Don't show caret if there's a selection. 2013-03-06 13:10:37 +00:00
Michael Drake 037beb44fb Pass caret clip rect out to front ends. (Nothing actually using them yet.) 2013-03-05 22:54:51 +00:00
Michael Drake e8950dee22 Propagate native caret clip rect through core. 2013-03-05 22:54:51 +00:00
Daniel Silverstone 461d4576fb Unref the node in the callbacks 2013-03-05 22:53:55 +00:00