summaryrefslogtreecommitdiff
path: root/desktop/textarea.c
Commit message (Collapse)AuthorAgeFilesLines
* We return client data, not node.Michael Drake2013-09-141-2/+55
|
* Remove dead assignment.Michael Drake2013-09-051-3/+2
|
* Remove dead assignement.Michael Drake2013-09-051-2/+1
|
* Don't show caret when scrolling a textarea that hasn't been given focus.Michael Drake2013-03-271-1/+2
|
* Tidy up pointer beyond scrollbars.Michael Drake2013-03-271-0/+7
|
* Reduce multi-line textarea a bit more. When redrawing only one line, don't ↵Michael Drake2013-03-261-1/+23
| | | | redraw unchanged text at the start of the line.
* Further reduce redraw region for multi-line textareas when editing.Michael Drake2013-03-261-9/+26
|
* Trivial redraw optimisation for multiline textareas. Only redraw the line ↵Michael Drake2013-03-251-10/+19
| | | | that was changed and below.
* Remove some spaces.Michael Drake2013-03-251-8/+8
|
* Reduce redraw area for selection set/change/clear.Michael Drake2013-03-221-11/+39
|
* Move line start calc into reflow handler.Michael Drake2013-03-221-17/+14
|
* Optimise redraw of single line textarea. When single line textarea is ↵Michael Drake2013-03-211-17/+42
| | | | unscrolled, only the changed area is redrawn after edits.
* Split reflow into two functions for single or multi line textareas.Michael Drake2013-03-211-95/+175
|
* Robust detection of scroll changes.Michael Drake2013-03-201-6/+17
|
* Avoid double redraw when edit causes scroll.Michael Drake2013-03-201-16/+15
|
* Use cached line length to avoid some nsfont_width calls for selection ↵Michael Drake2013-03-201-6/+4
| | | | rendering in redraw.
* Avoid redraw of scrollbars when they've not changed.Michael Drake2013-03-201-16/+22
|
* Cache line widths. Fixes scrollbar issue introduced with partial reflow ↵Michael Drake2013-03-201-4/+18
| | | | enablement. Will also be used for future redraw optimisations.
* Start reflow on line before change in text, rather than always reflowing the ↵Michael Drake2013-03-201-11/+28
| | | | entire textarea.
* Comment fixes.Michael Drake2013-03-191-3/+2
|
* Fix warnings.Michael Drake2013-03-191-3/+3
|
* Start reducing unnecessary redraws: when only start OR end of selection has ↵Michael Drake2013-03-191-7/+54
| | | | changed, only redraw the lines affected. (Reduces redraw of vertical regions only. Still redraw full width for changed lines.)
* Loads of changes including fixes, new functionality, and optimisation.Michael Drake2013-03-171-633/+699
| | | | | | | | | | | | | | | | | | | | | | | + 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.
* Make textarea_get_caret private.Michael Drake2013-03-131-25/+30
|
* Fix pointer shape and status bar messages for textareas and their scrollbars.Michael Drake2013-03-111-22/+39
|
* Make autoscroll start at inside edge of border or scrollbar.Michael Drake2013-03-061-9/+15
|
* Pull scrollbar mouse handling out into helper function.Michael Drake2013-03-061-12/+36
|
* Textarea sends caret hide msg if caret completely outside visible area.Michael Drake2013-03-061-11/+35
|
* Don't show caret if there's a selection.Michael Drake2013-03-061-1/+2
|
* Propagate native caret clip rect through core.Michael Drake2013-03-051-3/+21
|
* Handle readonly attribute for text inputs and textareas.Michael Drake2013-02-231-13/+7
|
* Don't need initial caret pos now.Michael Drake2013-02-221-2/+2
|
* No point in setting caret there.Michael Drake2013-02-221-1/+0
|
* Always set caret.Michael Drake2013-02-221-3/+1
|
* Shove allocation step size into #define.Michael Drake2013-02-221-12/+16
|
* Increase allocation increment step size.Michael Drake2013-02-221-13/+13
|
* Textarea tweaks for caret placement after selection removal.Michael Drake2013-02-221-3/+6
|
* Fix setting of empty selections.Michael Drake2013-02-221-0/+5
|
* A load of refactoring of how content selection and input work.Michael Drake2013-02-221-63/+120
| | | | | | | | | | | | | Keypresses now go via content interface. Contents don't shove the selection object into browser windows any more. Contents report selection existence by sending message. HTML content keeps track of where selections in it exist. Contents report whether they have input focus via caret setting msg. Caret can be hidden (can still input/paste) or removed. Consolidate textarea selection handling. Make textarea report its selection status changes to client. Various textarea fixes. Changed how we decide when to clear selections, and give focus.
* Move selection clearing into a function, and expose it in the header file.Michael Drake2013-02-131-14/+26
|
* Calculate and store text offsets only when they change, rather than ↵Michael Drake2013-02-131-23/+37
| | | | recalculating on every redraw and caret placement. Also ensures that caret placement and redraw get the same text offset values.
* Implement selection modification. Clicks and drags with button 2 alter the ↵Michael Drake2013-02-121-2/+21
| | | | nearest end of the selection. Button 2 when there is no selection selects from caret pos to click pos.
* Triple click selects paragraph in textarea widget.Michael Drake2013-02-121-0/+56
|
* Tidy textarea-handled mouse action.Michael Drake2013-02-121-9/+10
|
* Init clipboard to NULL, just in case front end implementation of ↵Michael Drake2013-02-121-1/+1
| | | | gui_get_clipboard fails to set it on empty clipboard.
* When reqesting redraaw to remove internal caret, make sure caret is already ↵Michael Drake2013-02-121-0/+3
| | | | removed as the redraw may be serviced immediatley.
* Don't include '\0' in single-line nsfont_width call.Michael Drake2013-02-111-1/+1
|
* Selection autoscroll of scrollbarless textareas (single line).Michael Drake2013-02-111-13/+38
|
* Early detection of regions outside the visible.Michael Drake2013-02-111-0/+9
|
* Clip native caret render so it can't overwrite border. Slight simplification.Michael Drake2013-02-111-11/+12
|