Commit Graph

188 Commits

Author SHA1 Message Date
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
John Mark Bell
c2fd55cbab Protect against NULL pointers
svn path=/trunk/netsurf/; revision=9681
2009-11-22 13:31:47 +00:00
Michael Drake
3549846a9a Make textarea widget unaware of its global position. Credit: paulblokus.
svn path=/trunk/netsurf/; revision=9274
2009-08-13 22:10:36 +00:00
Michael Drake
623808380a Remove line that was removed in the other branch.
svn path=/trunk/netsurf/; revision=8887
2009-07-29 11:26:04 +00:00
Michael Drake
39546fd504 Merged revisions 8808,8862-8863 via svnmerge from
svn://svn.netsurf-browser.org/branches/paulblokus/textinput

........
  r8808 | paulblokus | 2009-07-26 22:52:53 +0100 (Sun, 26 Jul 2009) | 2 lines
  
  don't recalculate height already aviable
........
  r8862 | paulblokus | 2009-07-28 21:39:06 +0100 (Tue, 28 Jul 2009) | 2 lines
  
  added css.c and css.h files which caused svn errors after using svnmerge
........
  r8863 | paulblokus | 2009-07-28 21:43:53 +0100 (Tue, 28 Jul 2009) | 3 lines
  
  changed textarea redraw logic
  little fix of KEY_DELETE_LINE_START jandling
........

svn path=/trunk/netsurf/; revision=8886
2009-07-29 11:03:34 +00:00
John Mark Bell
3be8193500 Port r8808 to trunk.
svn path=/trunk/netsurf/; revision=8825
2009-07-27 14:58:06 +00:00
John Mark Bell
4af04582ad Fix textarea line height.
svn path=/trunk/netsurf/; revision=8766
2009-07-24 01:03:17 +00:00
John Mark Bell
ddeadd1c02 Merge LibCSS port to trunk.
svn path=/trunk/netsurf/; revision=8752
2009-07-23 23:05:34 +00:00
Michael Drake
f1eb054b87 Merged revisions 8663 via svnmerge from
svn://svn.netsurf-browser.org/branches/paulblokus/textinput

........
  r8663 | paulblokus | 2009-07-22 00:46:29 +0100 (Wed, 22 Jul 2009) | 2 lines
  
  added getter for textarea dimensions
........

svn path=/trunk/netsurf/; revision=8695
2009-07-22 15:59:25 +00:00
John Mark Bell
2565a37a52 Refactor text plotter and other font functions to remove dependency on CSS.
svn path=/trunk/netsurf/; revision=8641
2009-07-21 10:59:53 +00:00
Vincent Sanders
680298e61c plotters line refactor
svn path=/trunk/netsurf/; revision=8446
2009-07-10 18:36:49 +00:00
Vincent Sanders
f9ecd56f62 ploter refactor of rectangle handling
svn path=/trunk/netsurf/; revision=8399
2009-07-08 22:04:40 +00:00
John Mark Bell
68aeb65cdf Merged revisions 8059-8359 via svnmerge from
svn://svn.netsurf-browser.org/branches/paulblokus/textinput

........
  r8337 | paulblokus | 2009-07-06 00:38:21 +0100 (Mon, 06 Jul 2009) | 2 lines
  
  added textarea_set_position
........

svn path=/trunk/netsurf/; revision=8360
2009-07-06 23:47:50 +00:00
Vincent Sanders
0ade453958 Refactor fill plotter to take a style
svn path=/trunk/netsurf/; revision=8332
2009-07-05 20:10:17 +00:00
John Mark Bell
ca96353d9f Merged revisions 7764-7977,7979-8058 via svnmerge from
svn://svn.netsurf-browser.org/branches/paulblokus/textinput

........
  r7769 | paulblokus | 2009-06-11 22:26:16 +0100 (Thu, 11 Jun 2009) | 4 lines
  
  replace global history window with an empty window for future tests
  add the necessary files
  first lines ported
........
  r7771 | paulblokus | 2009-06-11 23:51:46 +0100 (Thu, 11 Jun 2009) | 1 line
  
  more functions
........
  r7772 | paulblokus | 2009-06-12 02:07:36 +0100 (Fri, 12 Jun 2009) | 1 line
  
  redraw working
........
  r7777 | paulblokus | 2009-06-12 11:35:45 +0100 (Fri, 12 Jun 2009) | 3 lines
  
  plotter fix
  make use of the provided clipping rectangle
........
  r7781 | paulblokus | 2009-06-12 16:26:51 +0100 (Fri, 12 Jun 2009) | 3 lines
  
  callbacks for taxtarea to request a [caret]redraw
  basic caret handling drawing
........
  r7782 | paulblokus | 2009-06-12 22:36:50 +0100 (Fri, 12 Jun 2009) | 1 line
  
  single character insertion
........
  r7783 | paulblokus | 2009-06-12 22:41:37 +0100 (Fri, 12 Jun 2009) | 1 line
  
  single character insertion
........
  r7784 | paulblokus | 2009-06-12 23:55:40 +0100 (Fri, 12 Jun 2009) | 3 lines
  
  fixed caret clipping
  arrows, delete and backspace
........
  r7812 | paulblokus | 2009-06-16 14:55:41 +0100 (Tue, 16 Jun 2009) | 1 line
  
  remove bug causing NS hang on \n in textarea
........
  r7816 | paulblokus | 2009-06-16 16:29:48 +0100 (Tue, 16 Jun 2009) | 1 line
  
  Enter, Home, End keys
........
  r7817 | paulblokus | 2009-06-16 16:56:16 +0100 (Tue, 16 Jun 2009) | 1 line
  
  Ctrl + Home/End
........
  r7818 | paulblokus | 2009-06-16 17:16:51 +0100 (Tue, 16 Jun 2009) | 1 line
  
  redraw caret only on caret moves
........
  r7821 | paulblokus | 2009-06-16 20:18:30 +0100 (Tue, 16 Jun 2009) | 1 line
  
  line end/start delete
........
  r7822 | paulblokus | 2009-06-16 23:43:42 +0100 (Tue, 16 Jun 2009) | 1 line
  
  selection drawing + select all
........
  r7823 | paulblokus | 2009-06-17 02:31:07 +0100 (Wed, 17 Jun 2009) | 3 lines
  
  auto scrolling on caret moves
  clear selection
........
  r7845 | paulblokus | 2009-06-18 17:35:03 +0100 (Thu, 18 Jun 2009) | 1 line
  
  page up/down
........
  r7846 | paulblokus | 2009-06-18 17:38:45 +0100 (Thu, 18 Jun 2009) | 1 line
  
   remove unnecessary fix
........
  r7847 | paulblokus | 2009-06-18 18:00:16 +0100 (Thu, 18 Jun 2009) | 1 line
  
  clipping fixes
........
  r7849 | paulblokus | 2009-06-18 18:21:02 +0100 (Thu, 18 Jun 2009) | 1 line
  
  scroll fix
........
  r7850 | paulblokus | 2009-06-18 18:45:13 +0100 (Thu, 18 Jun 2009) | 1 line
  
  simplified redraw request logic
........
  r7855 | paulblokus | 2009-06-18 19:56:24 +0100 (Thu, 18 Jun 2009) | 1 line
  
  front end passing mouse events
........
  r7858 | paulblokus | 2009-06-18 22:18:39 +0100 (Thu, 18 Jun 2009) | 3 lines
  
  drag selection
  bug fixes
........
  r7860 | paulblokus | 2009-06-18 23:32:39 +0100 (Thu, 18 Jun 2009) | 3 lines
  
  take selection into account on keypress of different types
  a few bugs fixed
........
  r7876 | paulblokus | 2009-06-19 13:43:07 +0100 (Fri, 19 Jun 2009) | 3 lines
  
  pango nsfont_split fix
  a few textarea fixes
........
  r7879 | paulblokus | 2009-06-19 17:33:10 +0100 (Fri, 19 Jun 2009) | 4 lines
  
  newline handling seems to work this way
  clear selection on mouse click
  more bug fixes
........
  r7880 | paulblokus | 2009-06-19 18:16:27 +0100 (Fri, 19 Jun 2009) | 3 lines
  
  no caret option
  selection follows drag
........
  r7883 | paulblokus | 2009-06-19 19:08:44 +0100 (Fri, 19 Jun 2009) | 3 lines
  
  o width selection bug fix
  caret at correct side of drag selection
........
  r7918 | paulblokus | 2009-06-22 21:01:28 +0100 (Mon, 22 Jun 2009) | 3 lines
  
  fix caret positioning at line end
  CR removal in input methods
........
  r7919 | paulblokus | 2009-06-22 21:34:39 +0100 (Mon, 22 Jun 2009) | 1 line
  
  fix crash on 0 length text
........
  r7926 | paulblokus | 2009-06-23 09:53:56 +0100 (Tue, 23 Jun 2009) | 3 lines
  
  change LF into spaces for single line widget
  text normalisation at one place
........
  r7931 | paulblokus | 2009-06-23 10:51:25 +0100 (Tue, 23 Jun 2009) | 1 line
  
  cleanup
........
  r7933 | paulblokus | 2009-06-23 11:17:22 +0100 (Tue, 23 Jun 2009) | 1 line
  
  fix selection draw
........
  r7935 | paulblokus | 2009-06-23 11:41:30 +0100 (Tue, 23 Jun 2009) | 1 line
  
  guard readonly
........
  r7942 | paulblokus | 2009-06-24 08:19:39 +0100 (Wed, 24 Jun 2009) | 1 line
  
  applied changes suggested by jmb
........
  r7943 | paulblokus | 2009-06-24 09:04:49 +0100 (Wed, 24 Jun 2009) | 1 line
  
  little fixes
........
  r7945 | paulblokus | 2009-06-24 12:50:14 +0100 (Wed, 24 Jun 2009) | 1 line
  
  correct line length and wrapping
........
  r7947 | paulblokus | 2009-06-24 14:32:36 +0100 (Wed, 24 Jun 2009) | 3 lines
  
  fixed page up/down broken in last commit
  changed logic for caret positioning on soft breaks
........
  r7949 | paulblokus | 2009-06-24 16:31:42 +0100 (Wed, 24 Jun 2009) | 1 line
  
  remove temporary/test code
........
  r7975 | paulblokus | 2009-06-25 16:00:46 +0100 (Thu, 25 Jun 2009) | 1 line
  
  changes suggested by jmb
........
  r7976 | paulblokus | 2009-06-25 16:33:23 +0100 (Thu, 25 Jun 2009) | 1 line
  
  added ro_ prefix to RISC OS textarea code
........

svn path=/trunk/netsurf/; revision=8060
2009-06-27 13:59:25 +00:00