Commit Graph

102 Commits

Author SHA1 Message Date
Vincent Sanders ab952e0634 improve content header usage 2020-05-07 20:55:44 +01:00
Vincent Sanders a706c69bf4 improve html content handler private headers 2020-05-02 20:47:53 +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
Vincent Sanders 8066d1c8b4 move key press enums and operations to their own header 2016-07-01 14:27:04 +01:00
Vincent Sanders 66d0f14b32 move the public form API 2016-06-14 12:39:54 +01:00
Vincent Sanders 8711fbe47d move mouse and pointer state header into public API 2016-05-30 12:10:08 +01:00
Vincent Sanders 1eb86d9df2 move window header into public API 2016-05-30 11:01:40 +01:00
Vincent Sanders 1180d19324 improve documentation in headers 2014-10-19 19:12:55 +01: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 667d4a0a49 confine the gui table acessor to the gui factory header 2014-01-14 20:05:14 +00:00
Vincent Sanders e82d83f184 move four more optional window operations to table 2014-01-13 14:51:27 +00:00
Michael Drake 89b669919e Fix NULL check after deref. 2013-10-23 11:21:11 +01:00
Michael Drake 037beb44fb Pass caret clip rect out to front ends. (Nothing actually using them yet.) 2013-03-05 22:54:51 +00:00
Michael Drake e8950dee22 Propagate native caret clip rect through core. 2013-03-05 22:54:51 +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 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 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 131b4cdda1 For now selection clear and selection copy are handled by the bw. Select all is only handled by the bw if nothing has claimed input. This stops the crash when select all is used in textarea.
TODO: The special keys should not be handled by the bw, they should be handled by the content with focus.
2013-01-03 15:25:59 +00:00
Michael Drake 4aadb5237a Ensure selection related keypresses go to whatever has claimed input. 2013-01-03 12:48:09 +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
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 e2a7600e9a Big wodge of internal browser window scroll fixes, or "rationalisation of browser window scrollbar handling".
svn path=/trunk/netsurf/; revision=13221
2011-12-02 16:10:13 +00:00
Michael Drake c98e37be1f Better caret positioning in scrolled frames.
svn path=/trunk/netsurf/; revision=12851
2011-09-21 21:11:16 +00:00
Michael Drake 50508a6e75 Ensure root bw and gui window before asking front end to remove caret.
svn path=/trunk/netsurf/; revision=12795
2011-09-15 15:06:20 +00:00
Chris Young b3bf57ed79 Stop Esc/Ctrl-[ crashing when browser_window selection is NULL
svn path=/trunk/netsurf/; revision=12786
2011-09-11 09:39:44 +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 637f726a13 Scale caret height in core
svn path=/trunk/netsurf/; revision=12596
2011-07-11 10:33:43 +00:00
Michael Drake bc91b72c56 Clean up text input code. Now desktop/textinput.{c|h} is concerend with browser windows only. HTML content specific stuff moved to render/textinput.{c|h} and disassociated from browser windows.
svn path=/trunk/netsurf/; revision=12587
2011-07-07 17:50:04 +00:00
Michael Drake e2681caf9c Reduce forward declaration of functions.
svn path=/trunk/netsurf/; revision=12586
2011-07-07 11:50:45 +00:00
Michael Drake 5412ae7251 Use prescribed method for discovering browser window position.
svn path=/trunk/netsurf/; revision=12572
2011-07-06 10:30:58 +00:00
Michael Drake 1f9b970f57 Set focus browser_window in place_caret.
svn path=/trunk/netsurf/; revision=12570
2011-07-04 12:15:21 +00:00
Michael Drake c9fe1b604e HTML contents manage box scrollbars, rather than browser_windows.
svn path=/trunk/netsurf/; revision=12519
2011-06-27 22:21:15 +00:00
Michael Drake 142cee6f55 Fix paste in form inputs in iframes.
svn path=/trunk/netsurf/; revision=12479
2011-06-15 12:30:13 +00:00
Michael Drake 53f4da3420 First pass at core iframes. Currently lacking scrollbars.
svn path=/trunk/netsurf/; revision=12474
2011-06-14 20:00:18 +00:00
Michael Drake ac447fc293 s/scroll/scrollbar/ and improve scrollbar widget comments.
svn path=/trunk/netsurf/; revision=12363
2011-05-09 22:49:17 +00:00
John Mark Bell e71691bae8 Merge branches/jmb/content-factory to trunk
svn path=/trunk/netsurf/; revision=12283
2011-05-06 20:40:09 +00:00
John Mark Bell ff60007458 Fix build with NDEBUG defined
svn path=/trunk/netsurf/; revision=12154
2011-04-03 22:23:14 +00:00
Michael Drake 3e7ea29e4b Move clone to box flags.
svn path=/trunk/netsurf/; revision=11890
2011-03-02 19:30:08 +00:00
Michael Drake e3f00b8546 Cache space widths.
svn path=/trunk/netsurf/; revision=11877
2011-03-01 20:00:41 +00:00
John Mark Bell ad69ae0923 Avoid unsafe cast of int* to size_t*
svn path=/trunk/netsurf/; revision=11597
2011-02-01 21:57:25 +00:00
Michael Drake 08ed4c207f Update to new libcss API for simultanious selection for base element and its pseudo elements.
svn path=/trunk/netsurf/; revision=11215
2011-01-05 19:36:05 +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
Daniel Silverstone 30e0cfe7a9 First step to fixing memory leaks -- Box model no longer leaks computed styles
svn path=/trunk/netsurf/; revision=10500
2010-04-27 21:38:41 +00:00
John Mark Bell cbf55bd418 Fix textarea crash.
I cannot express just how much I hate the necessity of this change: browser windows (and other code in desktop/) should stop poking around inside content objects

svn path=/trunk/netsurf/; revision=10258
2010-04-07 06:22:15 +00:00
Daniel Silverstone 270ef59a98 Merge jmb/new-cache; r=dsilvers,rs=vince
svn path=/trunk/netsurf/; revision=10180
2010-03-28 12:56:39 +00:00