Commit Graph

106 Commits

Author SHA1 Message Date
Vincent Sanders ebe1b05114 improve desktop text search header usage
remove unecessary inclusion of desktop search header in content
  header which has knock on effect of not having ctype or string
  system headers dragged in unecessarily.

Futher this highlighted use of ctype API where internal ascii
  processing ought to be used.
2020-06-24 23:49:59 +01:00
Vincent Sanders 121c41a730 remove unused text selection interface 2020-05-23 23:40:29 +01:00
Vincent Sanders 5ce8f0baf1 make text selection context an opaque interface 2020-05-23 23:33:52 +01:00
Vincent Sanders 6108d210d5 remove all direct access to selection structure 2020-05-23 23:00:08 +01:00
Vincent Sanders 2ea577c47e remove unused is_html parameter to text selection routines 2020-05-23 23:00:08 +01:00
Vincent Sanders a8c540ea59 move content specific selection end to content handlers 2020-05-23 23:00:08 +01:00
Vincent Sanders cfe57002fe remove unused css length usage in selection 2020-05-23 23:00:08 +01:00
Vincent Sanders e65e41e2d6 move content handler specific selection copying into handlers 2020-05-23 23:00:08 +01:00
Vincent Sanders 36b9262e14 split selection redraw into content handler specific implementations 2020-05-23 23:00:08 +01:00
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