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
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