Commit Graph

1140 Commits

Author SHA1 Message Date
Michael Drake
2bd0d13817 Take account of caret height when scrolling to show caret. 2013-02-09 11:54:13 +00:00
Michael Drake
688e1b0e4f Slight selection auto-scroll optimisation. 2013-02-09 11:24:44 +00:00
Michael Drake
363d02b8ad Pedantic wrap. 2013-02-08 23:39:41 +00:00
Michael Drake
50c52408f5 Fix seg fault when moving cursor up onto empty top line. 2013-02-08 23:38:05 +00:00
Michael Drake
6fee220c52 Adjust code to reduce indentation. 2013-02-08 23:35:42 +00:00
Michael Drake
0d831c4ab6 Scaled textarea rendering support. Ugly. 2013-02-08 23:25:40 +00:00
Michael Drake
586e02e915 Implement text selection auto-scroll. 2013-02-08 20:03:44 +00:00
Michael Drake
7a397d29c6 Improve scroll-to-caret behaviour. 2013-02-08 19:46:35 +00:00
Michael Drake
59d24187f7 Support dropping text file on textarea widget. 2013-02-08 16:05:44 +00:00
Michael Drake
698f391289 Add scrollwheel support to textareas. 2013-02-08 15:26:24 +00:00
Michael Drake
f57e89cc25 Add ta to documentation. 2013-02-08 15:15:27 +00:00
Michael Drake
9c20ff9592 Drag fixup. Add some documentation. 2013-02-08 15:05:07 +00:00
Michael Drake
4747bbbfb2 HTML drags now go via content msg. 2013-02-08 13:22:53 +00:00
Michael Drake
9ec663f3a9 Tweak selection rendering. Adjusting layout doesn't emit redraw request. Client must redraw when it wants it. 2013-02-08 13:16:24 +00:00
Michael Drake
76b0e59b18 Don't lose fractional part of text pt size to rounding. 2013-02-07 15:03:35 +00:00
Michael Drake
2979a19786 Remove input subtree special numberspacing. 2013-02-07 14:21:48 +00:00
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
762e1aad73 First pass at getting html forms to use textarea widget.
(Input element types text & password, and textarea element.)
Can edit and submit forms, but there are loads of issues.
2013-02-06 22:39:45 +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
Michael Drake
75a24f7838 Add enum value for when no button is pressed (hover). 2013-01-29 14:07:24 +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
8af3dd9a43 Redo html textinput for new front end clipboard API. This doesn't affect the textinput code's brokenness. 2013-01-08 16:59:26 +00:00
Michael Drake
de63a64b50 Update to use new front end clipboard functions. Now we build the buffer from each individual text box in the core, instead of in each front end. Styles for text runs are generated in the HTML case. 2013-01-08 16:54:46 +00:00