Commit Graph

64 Commits

Author SHA1 Message Date
Michael Drake 94be5edbfa Native caret not now set in redraw. Prevents endless redraw when textarea has caret. 2013-02-07 13:58:43 +00:00
Michael Drake 008cdb42d7 Fix empty textarea reflow. Fix empty line (just \n) redraw. Add set layout function to set size and padding. 2013-02-06 22:30:32 +00:00
Michael Drake 442218cb80 Pull flags out of textarea_setup. 2013-02-02 22:58:35 +00:00
Michael Drake 97bc1d0189 Add support for password text inputs.
+ Text display obscured.
  + Cut/Copy put the obscured version on the clipboard.
2013-02-01 18:29:27 +00:00
Michael Drake 663191791e Add move caret msg. Add flag to choose internal caret or caret move msgs. 2013-01-30 18:01:01 +00:00
Michael Drake 5eb417fff4 Create textarea_msg struct on stack, rather than using global. 2013-01-29 22:52:21 +00:00
Michael Drake af7a5d2d67 Don't redraw if selection is unchanged. 2013-01-29 20:28:10 +00:00
Michael Drake 93cc123200 Update textarea to inform client what it's doing with drags.
Now single callback for both redraw requests and drag reports.
Update treeview to use new textarea API.
Update Atari URL bar to use new textarea API.  (Ignores drag reports, currently.)
Minor textarea fixes.
2013-01-29 17:34:08 +00:00
François Revol 2f94b0a949 textarea: C89 2013-01-20 17:59:55 +01:00
Michael Drake 9995ef583f Early scrollbar mouse handling. 2013-01-18 23:32:53 +00:00
Michael Drake d252896953 Ensure we know for sure if scrollbar widget will want to scroll us. Avoid double xy to offset conversion. 2013-01-15 21:05:54 +00:00
Michael Drake 7a0b347563 Add parentheses. 2013-01-15 19:50:36 +00:00
Michael Drake 348e9789a4 Add scrollbars to textarea, and improve scrolling to try to keep caret in centre. Currently the scrollbars are mostly decoration, although they show accuratly where you are scrolled to in the area. TODO: Pass mouse input to scrollbars. 2013-01-15 19:40:32 +00:00
Michael Drake 96264ca71e Use right padding. Thanks jmb. 2013-01-14 12:01:23 +00:00
Michael Drake 700aea8b08 Fix caret removal redraw to take account of border width. Fix scroll_visible to take account of border width in vertical scroll. 2013-01-14 11:46:56 +00:00
Michael Drake 2b7bc02961 Implement most of the styling needed for HTML. Allow caret to be hidden. 2013-01-13 23:01:29 +00:00
Michael Drake 740559ab52 Rewrite redraw to handle selection properly. (Now text can change colour inside selection, rather than just rendering a rectangle under the normal line of text. This removes colour restrictions, allowing e.g. inversion for selected text.) 2013-01-13 14:51:26 +00:00
Michael Drake c7a37392e4 Add background colour to textarea_redraw API. Add source comments. 2013-01-12 20:59:32 +00:00
Michael Drake 5124b8a02a Add textarea_setup struct to textarea_create API. 2013-01-12 20:46:01 +00:00
Michael Drake ac03806a50 Fix redraw of caret when scroll offsets are non-zero, only caret has moved, and we're not getting a full textarea redraw. 2013-01-10 23:21:47 +00:00
Michael Drake ac89e52109 Simplify routine to scroll ta so that caret is visible. 2013-01-10 23:20:42 +00:00
Michael Drake ab5d165659 More wrap behaviour improvement. 2013-01-10 19:43:22 +00:00
Michael Drake 694c1e7eea Fix silly. 2013-01-10 18:42:56 +00:00
Michael Drake d3973b2991 Fix previous caret position redraw. 2013-01-10 18:36:25 +00:00
Michael Drake 2158ef60a8 Improve reflow in multiline textareas. 2013-01-10 17:42:43 +00:00
Michael Drake eddb0f17d1 Simplfy caret placement and redraw. 2013-01-10 15:06:05 +00:00
Michael Drake 4cad82db9f Fix caret placement in multi-line textareas. 2013-01-10 12:46:33 +00:00
Michael Drake ec8e6ac91d Add support for clipboard. Improve text selection behaviour. Various fixes. 2013-01-09 18:10:20 +00:00
Michael Drake 31e7b6d983 Make get_xy_offset return both char and byte offset. (Byte being needed for selection replacement.) 2013-01-09 14:26:11 +00:00
Michael Drake 964a736a53 Rename selection index markers. 2013-01-08 19:51:59 +00:00
Michael Drake f43f84f5ad Fix redraw of selection hightlight during selection drags. 2013-01-07 14:15:35 +00:00
Michael Drake e414d545af Make comment concise. 2013-01-07 12:22:51 +00:00
Michael Drake 1ac2e00134 Remove forward declaration. 2013-01-05 15:27:53 +00:00
Michael Drake 912d3f7690 Put exported function comments in header. 2013-01-05 15:15:23 +00:00
Michael Drake 46b7691522 Start rationalising textarea widget. 2013-01-05 14:52:02 +00:00
John Mark Bell 05ee98d1d6 Add support for selecting text fragments (based on a patch from Ole Loots)
svn path=/trunk/netsurf/; revision=14016
2012-06-30 10:24:15 +00:00
Michael Drake 387c85ae0b Pass correct width/height values to textarea redraw callback when setting caret position. Reduces flicker.
svn path=/trunk/netsurf/; revision=13851
2012-04-12 10:30:20 +00:00
Michael Drake 87dbbe1260 Fix caret redraw height. Thanks to m0n0.
svn path=/trunk/netsurf/; revision=13850
2012-04-12 09:05:37 +00:00
Michael Drake d54e5719d8 Remove redundant break.
svn path=/trunk/netsurf/; revision=13194
2011-11-29 10:43:15 +00:00
Michael Drake e79c7d2ce8 Fix caret position after deleting selection. Thanks to Ole Loots.
svn path=/trunk/netsurf/; revision=13193
2011-11-29 10:40:30 +00:00
John Mark Bell 3f395ec3bf Committing textarea_set_dimensions patch from Ole Loots.
svn path=/trunk/netsurf/; revision=13160
2011-11-21 09:09:28 +00:00
Michael Drake eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Vincent Sanders 74f108ee4d Saturated maths in css fixed point
svn path=/trunk/netsurf/; revision=11975
2011-03-12 17:46:11 +00:00
Michael Drake 94e7b44ebc Pass clip rect to clip plotters as struct. Simplify clip rect handling in debug window code. Pass clip rect to select menu as struct.
svn path=/trunk/netsurf/; revision=11683
2011-02-14 22:05:39 +00:00
Michael Drake 3ce0613193 Constify.
svn path=/trunk/netsurf/; revision=11682
2011-02-14 19:38:59 +00:00
Michael Drake a089ad0e1d Pass clip rect to textarea redraw as struct rect.
svn path=/trunk/netsurf/; revision=11681
2011-02-14 19:26:45 +00:00
Michael Drake d5b18c69fd Take some calculations out of line redraw loop and fix rounding error.
svn path=/trunk/netsurf/; revision=11089
2010-12-17 14:11:06 +00:00
Michael Drake 4b64e92194 Only draw caret if there is no selection.
svn path=/trunk/netsurf/; revision=11060
2010-12-15 15:10:15 +00:00
Michael Drake b037763e6e Position text and caret correctly in single line text area. Make caret red so it stands out for now. It should be an OS caret anyway.
svn path=/trunk/netsurf/; revision=11059
2010-12-15 14:15:43 +00:00
Michael Drake b010a25771 + Refactor input handling from browser window code into content
handlers.
+ Disentangle all box tree manipulation from browser window
  code and put it where it belongs.
+ Move other content specific and other irrelevant code from
  browser window handling to appropriate places.
+ Put mouse state enum in new mouse header, since it's not just
  used by browser window code, and it is used by treeview
  windows on the treeview branch.

svn path=/trunk/netsurf/; revision=10561
2010-06-04 09:35:08 +00:00