Commit Graph

92 Commits

Author SHA1 Message Date
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
Michael Drake
074150ff18 Only try to reset scroll position on textarea wrap if there is a scrollbar.
svn path=/trunk/netsurf/; revision=9335
2009-08-17 13:23:52 +00:00
Michael Drake
c26611b32b Merge from Paul Blokus' selectscroll branch. Fixes text input scrollbar behaviour.
svn path=/trunk/netsurf/; revision=9306
2009-08-14 23:10:53 +00:00
Michael Drake
13afa0ff4c Merge Paul Blokus' selectscroll branch. Adds core select menu widget for forms and core scrollbar widget.
svn path=/trunk/netsurf/; revision=9289
2009-08-14 10:37:33 +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
John Mark Bell
a070f24913 Lose more redundancy
svn path=/trunk/netsurf/; revision=7613
2009-05-28 16:38:17 +00:00
John Mark Bell
2730814c27 Remove redundant statements
svn path=/trunk/netsurf/; revision=7608
2009-05-28 16:13:02 +00:00
John Mark Bell
243c1ba03f Limit scope of manually-defined NDEBUG. Purge a bunch of redundant #undef NDEBUG.
svn path=/trunk/netsurf/; revision=7593
2009-05-28 10:39:53 +00:00
John Mark Bell
c2a773b049 Only attempt to find the next character in a string if we're not already at the end of the string.
svn path=/trunk/netsurf/; revision=6606
2009-02-22 23:30:27 +00:00
Adrian Lees
ac6b80c988 Obvious fix for text start/end problem; missing something?
svn path=/trunk/netsurf/; revision=6396
2009-02-08 04:25:42 +00:00
Adrian Lees
f46dd78718 Next batch of menu changes; clarify some key presses
svn path=/trunk/netsurf/; revision=6327
2009-02-01 02:19:01 +00:00