Commit Graph

97 Commits

Author SHA1 Message Date
Vincent Sanders
10fc242aa9 remove unesessary construction of font plot stype in selection redraw 2020-05-21 23:26:06 +01:00
Vincent Sanders
ba5025e5e8 simple reformat no code changes 2020-05-21 23:23:52 +01:00
Vincent Sanders
4cef0f955c pass the browser window to selection click handler
this means the content handlers do not have to provide a separate
  method to extract their browser window and it can simply be
  passed in.
2020-05-20 23:17:48 +01:00
Vincent Sanders
2f67227901 cleanup selection code formatting and documentation
removes forward declarations
cleans up documentation comments in header
removes unecessarily exported functions
2020-05-20 22:17:16 +01:00
Vincent Sanders
a706c69bf4 improve html content handler private headers 2020-05-02 20:47:53 +01:00
Vincent Sanders
e8d0ba15ad split html box processing code
reduce the module size of the html box handling code by
 splitting into smaller sections.

No functional code change.
2020-04-29 20:37:42 +01:00
Vincent Sanders
4dc4d8b318 add miscellaneous event to browser window callback table
extend the browser window callback table with a miscallaneous event
 entry. This is used to replace all browser window callbacks which
 take no parameters.

This reduces the API surface from seven separate calls to a single
 call with an enumeration which may be readily extended.

The initial implementation in the frontends simply calls the original
 implementations to reduce scope for errors.
2019-08-20 00:16:52 +01:00
Vincent Sanders
5742762070 split browser and browser_window operations 2019-08-01 19:51:19 +01:00
Vincent Sanders
2a03ea3049 move html and text content handlers where they belong 2018-05-10 13:37:02 +01:00
Michael Drake
6be6fa1b21 CSS utils: Handle new units in length conversion routines.
This causes a ripple effect of all the callsites needing
information they didn't have.
2018-01-05 13:49:51 +00:00
Vincent Sanders
66d0f14b32 move the public form API 2016-06-14 12:39:54 +01:00
Vincent Sanders
667605869f move plotters header into public API 2016-05-30 21:05:57 +01:00
Vincent Sanders
8711fbe47d move mouse and pointer state header into public API 2016-05-30 12:10:08 +01:00
Vincent Sanders
d240bec036 move clipboard header into public API 2016-05-30 11:04:32 +01:00
Vincent Sanders
1eb86d9df2 move window header into public API 2016-05-30 11:01:40 +01:00
Vincent Sanders
d1f2d29e10 Doxygen cleanups and documentation additions 2014-11-10 17:00:15 +00:00
Vincent Sanders
1097cc40b4 remove unecessary browser.h include from core headers 2014-10-17 12:21:52 +01:00
Vincent Sanders
d06df231bc Update the core to use the split operations table headers
Second in the series to decouple the core API usage from the frontends.
2014-10-16 22:33:43 +01:00
Vincent Sanders
17be8cf216 Put the font operations table alongside all the other core API
The netsurf core is driven from numerous operation tables most of
which are now set through a common netsurf_register() interface. The
font and plotting interfaces are currently separate and unlike all the
other operation tables are modified for differing contexts.

This change moves the font operations alongside all the other
operations table and remove unnecessary interaction with the renderers
font internals. Further this also removes the need for css internals
to be visible in frontends.
2014-10-13 11:56:31 +01:00
Vincent Sanders
db33103fa3 clean up desktop/gui.h include usage 2014-01-29 21:35:53 +00:00
Vincent Sanders
bd065d4a43 split browser gui operations up 2014-01-15 19:37:05 +00:00
Vincent Sanders
68eaec5cb4 complete move of remaining core gui functions 2014-01-15 12:28:55 +00:00
Vincent Sanders
667d4a0a49 confine the gui table acessor to the gui factory header 2014-01-14 20:05:14 +00:00
Vincent Sanders
d18c8ed452 move teh final optional window operations into the table 2014-01-13 22:54:19 +00:00
Chris Young
6d7adac89e Update the edit menu after every click, to be safe. 2013-05-12 20:36:47 +01:00
Chris Young
0b028e41c6 more fix of edit menu updates 2013-05-12 20:36:46 +01:00
Michael Drake
9644d0594c Remove struct selection from gui_drag_save_selection, so gui.h doesn't need it now. 2013-05-10 11:54:26 +01:00
Michael Drake
50d7a2288c Remove redundant read-only test function. 2013-05-02 09:34:01 +01:00
Michael Drake
e92dd5bf6a Remove dead stuff from the selection_ api surface. 2013-05-02 09:34:01 +01:00
Michael Drake
6784e90a3a Remove unused selection_get_{start|end} APIs and their helper function. 2013-04-29 14:47:06 +01:00
Michael Drake
a4a3bcd979 Update comments. 2013-04-29 14:00:36 +01:00
Michael Drake
a467363d5e Remove block of code that have been commented out for years. 2013-04-29 13:41:27 +01:00
John-Mark Bell
9303fc56dc Remove redundant code. 2013-02-22 20:51:56 +00:00
Michael Drake
c2a718075a A load of refactoring of how content selection and input work.
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.
2013-02-22 12:19:35 +00:00
Michael Drake
2979a19786 Remove input subtree special numberspacing. 2013-02-07 14:21:48 +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
Chris Young
f2ab822a83 Prevent NULL pointer access with plain text contents 2012-11-10 22:26:43 +00:00
Michael Drake
153c444454 Move browser_window struct to private header. Places that shouldn't include it do, such as front end code.
Frontends that have been updated to build:
  framebuffer
  gtk
  monkey
  riscos

TODO:
  amiga
  atari
  beos
  cocoa
  windows
2012-08-22 12:22:58 +01:00
Michael Drake
3f9565753f Make selection_traverse internal to desktop/selection.c. 2012-08-13 17:48:03 +01:00
Michael Drake
86f3e70f1a Tolerate NULL selection context in selection_get_copy. 2012-08-13 17:38:09 +01:00
Michael Drake
e9b036a794 Fix selection string struct init. 2012-08-13 17:21:04 +01:00
Michael Drake
4c945bd16f Function to get copy of selection as string. 2012-08-13 17:09:42 +01:00
Michael Drake
d106091d6e Pass font plot style out to front end clipboard append function. 2012-08-13 14:43:04 +01:00
Michael Drake
68947c377e Obtain font style in copy handler. 2012-08-13 13:55:57 +01:00
Michael Drake
efaca1c1fa Add core function for copy to clipboard, so we don't need to expose render/box.h internals to front ends. 2012-08-02 14:23:42 +01:00
Daniel Silverstone
24894214bc Include dom/dom.h where it might be needed
svn path=/trunk/netsurf/; revision=13625
2012-03-24 20:55:22 +00:00
Michael Drake
16b92d1613 Selection is now subordinate to html and text content types, and disassociated from browser windows. Note: search currently uses hlcache_handle_get_content() to go from bw to h to get at c for search highlighting via selection.
svn path=/trunk/netsurf/; revision=12626
2011-07-26 13:53:42 +00:00
Michael Drake
9c91893028 Fix selection for non-gui browser windows (iframes).
Selection no longer uses current_redraw_browser.
Fix long-standing selection bugs on platforms that use action on release behaviour.

svn path=/trunk/netsurf/; revision=12598
2011-07-13 13:20:26 +00:00
Michael Drake
3f485e083d Minor selection changes.
svn path=/trunk/netsurf/; revision=12555
2011-07-02 16:12:00 +00:00
Michael Drake
f9566b6405 Set/unset selection context's browser window on content_open/content_close.
svn path=/trunk/netsurf/; revision=12551
2011-07-01 11:16:43 +00:00