Commit Graph

166 Commits

Author SHA1 Message Date
Vincent Sanders
b7736bae2f split gui operations into core and window and move more operations into tables 2014-01-12 17:07:34 +00:00
Vincent Sanders
56bb9582b1 move set title, set url, start and stop throbber window operations to gui table 2014-01-12 10:27:41 +00:00
Vincent Sanders
c8496df3df move window creation and destruction into table 2014-01-11 22:34:12 +00:00
Vincent Sanders
d3c392c3d3 Initial conversion of netsurf gui to callback vtable 2014-01-11 14:20:30 +00:00
Daniel Silverstone
f97c1fc605 Add some more frontend stubs and fix up some others 2014-01-05 17:37:21 +00:00
Michael Drake
10bc47a709 Register destruction function for browser widget. 2013-10-23 22:17:36 +01:00
Michael Drake
555924a73d Call font finaliser on quit. 2013-10-23 21:24:55 +01:00
Michael Drake
97aceb5a68 Pass KEY_UNDO and KEY_REDO to core. (Currently ignored.) 2013-09-30 21:38:11 +01:00
Michael Drake
3f45e53539 s/history_core/local_history/ 2013-07-10 11:55:42 +01:00
Vincent Sanders
bccaa05fdb add finalisation to options and document the API better 2013-06-01 16:09:39 +01:00
Vincent Sanders
df62a917da move framebuffer to new options API 2013-05-28 14:16:11 +01:00
Vincent Sanders
63d7247a9c fix mismatched option name and variable names
block_ads should be block_advertisments to match option name
toolbar_status_width should be toolbar_status_size to match option name
2013-05-28 14:16:11 +01:00
Vincent Sanders
ee6e6eec05 move options include 2013-05-28 14:16:10 +01:00
Vincent Sanders
35dacc3671 move the logging initialisation out to be call by frontends
This allows each frontend to pass a distinct callback to configure the
output file stream appropriately for their use.
2013-05-23 11:50:57 +01:00
Michael Drake
0a91a057e9 Add support for delete key. 2013-05-12 19:49:47 +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
fe1a40cbf4 Allow override of default window width/height individually. 2013-04-09 14:38:07 +01:00
Michael Drake
9178ede40b Avoid double/triple click stuff for scrollwheeling. 2013-03-28 10:13:41 +00: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
Vincent Sanders
529ca251fc rename flags for browser_window routines to be shorter 2013-02-18 11:51:42 +00:00
Vincent Sanders
b112dec78d change browser_window_create and refactor all callsites 2013-02-18 11:23:48 +00:00
Vincent Sanders
3bfb5b96a7 browser_window_navigate refactor 2013-02-18 11:23:27 +00:00
Michael Drake
15e61743a3 Add button to quit by default. Not having it confuses people who run it as intended on the framebuffer, and it can still be turned off should somone wish to. 2013-02-12 20:18:01 +00:00
Michael Drake
c2584d3f8b Add support for double and triple clicks. 2013-02-12 14:22:09 +00:00
Michael Drake
35eb251244 Fix "error setting certificate verify locations" problem when the Choices file doesn't exist. Now there's a single place for front ends to set options overrides. Fix nsoption_setnull_charp leak. 2012-10-17 14:20:18 +01:00
Michael Drake
d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Michael Drake
84e1bf89d9 Add OSK icon. 2012-09-28 19:52:21 +01:00
Vincent Sanders
7604b76161 make the framebuffer resource path setting better 2012-08-22 16:58:11 +01: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
36d3056526 Grab pointer during drag. 2012-08-02 16:29:37 +01:00
Michael Drake
1d827d2cf3 Fix click travel tolerance calc. Has to travel more than 5px to become drag. 2012-08-02 12:06:47 +01:00
Michael Drake
a92f2aa0a6 Simple clipboard support. Only used within browser window. 2012-08-01 23:45:09 +01:00
Michael Drake
75212235f8 Cleanup drag end. 2012-08-01 22:21:36 +01:00
Michael Drake
40a754a362 Convert move pointer during build and use it for page drag-scroll. 2012-08-01 21:48:16 +01:00
Michael Drake
30bc438ab0 Pass drags to core. Enables page drag-scrolling, text selection, frames scrollbars, etc. 2012-08-01 21:30:24 +01:00
Michael Drake
b238791002 Use enum instead of magic numbers for tracking key modifier states. Pass special keys to core (e.g. WORD_LEFT, SELECT_ALL, etc). 2012-08-01 14:47:20 +01:00
Michael Drake
9505fdcf84 Make browser window widget remove caret on "strip focus" event. 2012-07-31 22:16:06 +01:00
Michael Drake
9a92e7bdeb Core's gui_window_remove_caret should only remove caret if the bw in question owns the caret. 2012-07-31 21:02:19 +01:00
Michael Drake
941a48dabd When setting fbtk caret, register callback for redrawing caret removal. 2012-07-31 20:40:14 +01:00
Michael Drake
f6436d54c8 Add caret to browser window widgets. Caret now shows when editing forms. 2012-07-31 14:05:39 +01:00
Michael Drake
8660bed543 Change a couple of 'if's to 'else if's. 2012-07-26 19:04:45 +01:00
Michael Drake
305938bb48 Avoid a load of repeat operations when panning by greater than viewport size. 2012-07-26 19:00:38 +01:00
Michael Drake
d9d7dcb758 Avoid redrawing the whole screen when scrolling by zero pixels. 2012-07-26 18:37:51 +01:00
Vincent Sanders
1490b52a6b NetSurf options rework (a=vince r=daniels,jmb)
svn path=/trunk/netsurf/; revision=13548
2012-03-22 09:34:34 +00:00
Michael Drake
6794af012e Constify rect param to gui_window_drag_start.
svn path=/trunk/netsurf/; revision=13397
2012-01-11 16:45:17 +00:00
Michael Drake
04ece30fa9 Pass pointer constraints for drag out to front ends. Ensure content scrollbar drag termination always informs the browser window layer that the drag is over.
svn path=/trunk/netsurf/; revision=13395
2012-01-11 14:20:26 +00:00
Michael Drake
67f2470d5a Pass whether background images are wanted in redraw_context.
svn path=/trunk/netsurf/; revision=13335
2011-12-23 22:39:25 +00:00
Michael Drake
3299b9493b Call core to see if handles scroll wheel event first.
svn path=/trunk/netsurf/; revision=13198
2011-11-29 14:22:08 +00:00
Vincent Sanders
820312eb35 Update for modified libnsfb API
Make thumbnailing work

svn path=/trunk/netsurf/; revision=13159
2011-11-21 08:45:08 +00:00
Michael Drake
4e6828e7e1 Remove unused variable.
svn path=/trunk/netsurf/; revision=13095
2011-10-29 12:04:33 +00:00
John Mark Bell
d5bb9d98e7 Build resource: map at start time
Remove stylesheet url globals -- the core will always use resource:{default,quirks,adblock}.css as appropriate

svn path=/trunk/netsurf/; revision=12949
2011-10-05 08:32:52 +00:00
John Mark Bell
f27d5a3e15 Remove gui_multitask
svn path=/trunk/netsurf/; revision=12828
2011-09-21 00:25:09 +00:00
Michael Drake
0401d52f51 Remove gui_window_frame_resize_start() functions.
svn path=/trunk/netsurf/; revision=12738
2011-09-05 15:35:34 +00:00
Michael Drake
e9aa4936d5 Remove dead code from gui_create_browser_window().
svn path=/trunk/netsurf/; revision=12712
2011-09-04 18:30:19 +00:00
Michael Drake
5be6bd452d Remove gui_window_position_frame() definition from core and remove all implementations from front ends.
svn path=/trunk/netsurf/; revision=12711
2011-09-04 18:20:24 +00:00
Michael Drake
0057e15014 If no Cookies file path is set in Choices file, use default of "~/.netsurf/Cookies".
svn path=/trunk/netsurf/; revision=12675
2011-08-29 09:28:07 +00:00
Michael Drake
6fed775565 Don't need to set current_redraw_browser any more.
svn path=/trunk/netsurf/; revision=12653
2011-08-24 13:31:03 +00:00
Michael Drake
c9ff2da701 Fix up Framebuffer for r12574 API change.
svn path=/trunk/netsurf/; revision=12579
2011-07-06 12:51:11 +00:00
Michael Drake
eddae6af06 Remove plotter table global. Pass a redraw context around redraw functions. Knockout could be handled better. Note: untested on most front ends.
svn path=/trunk/netsurf/; revision=12543
2011-06-30 15:48:07 +00:00
Michael Drake
b57c2e0bee Move rectangle type to utils/types.h
svn path=/trunk/netsurf/; revision=12525
2011-06-28 15:18:48 +00:00
Michael Drake
dea7683985 Remove gui_window_set_scale().
svn path=/trunk/netsurf/; revision=12502
2011-06-24 12:01:24 +00:00
Michael Drake
66f6e9eff5 Rename utils/resource to utils/filepath to avoid confusion with resource: fetcher.
svn path=/trunk/netsurf/; revision=12088
2011-03-17 11:26:30 +00:00
Michael Drake
7f41b913c9 Scale mouse pointer position.
svn path=/trunk/netsurf/; revision=12081
2011-03-16 21:41:51 +00:00
Michael Drake
f6501e2d38 Beginnings of scale support.
- No front end to set scale, only global option.
 - No input (mouse pos) scaling.
 - Scaled of pos for update_box (e.g. animation) is wrong.
 - Off-by-1 in scaled scroll panning.

Perhaps we should look at moving all the scale logic into
the core.


svn path=/trunk/netsurf/; revision=12080
2011-03-16 20:37:44 +00:00
John Mark Bell
408f78b737 Move schedule.h to utils/
svn path=/trunk/netsurf/; revision=12039
2011-03-13 22:50:54 +00:00
Daniel Silverstone
93e9bfe323 Shunt the schedule function definitions to desktop/schedule.h. Shunt the hlcache/llcache to using schedule to get their cleanups run.
svn path=/trunk/netsurf/; revision=12029
2011-03-13 18:26:46 +00:00
Vincent Sanders
9660442e92 remove obsolete, unused gui_window_redraw API
svn path=/trunk/netsurf/; revision=11870
2011-03-01 14:31:54 +00:00
Vincent Sanders
0231675abf add resource handling
move gtk and framebuffer to use generic resource handling

svn path=/trunk/netsurf/; revision=11772
2011-02-23 22:27:55 +00:00
Michael Drake
5cefc9584a Pass clip rect to browser_window_redraw as pointer.
svn path=/trunk/netsurf/; revision=11672
2011-02-13 23:04:26 +00:00
Michael Drake
fedcbf6656 Pass clip rect to browser_window_redraw as struct.
svn path=/trunk/netsurf/; revision=11648
2011-02-11 19:36:33 +00:00
Vincent Sanders
9a183018ea improve browser_window_redraw width and height handling
svn path=/trunk/netsurf/; revision=11642
2011-02-11 00:14:22 +00:00
Vincent Sanders
2a8e8a5cf1 add browser_window_redraw() method to make content_redraw calls from frontends common RISC OS, atari, amiga and beos have not been updated
svn path=/trunk/netsurf/; revision=11640
2011-02-10 22:35:41 +00:00
Michael Drake
5eaeaed909 Remove Hubbub and Wapcaplet initialisation and finalisation.
svn path=/trunk/netsurf/; revision=10980
2010-12-04 20:14:33 +00:00
Michael Drake
71ea71540a Give the browser window widget input focus by defualt on startup.
svn path=/trunk/netsurf/; revision=10948
2010-11-20 18:50:45 +00:00
Michael Drake
908da609e7 Make click action happen on release.
svn path=/trunk/netsurf/; revision=10947
2010-11-20 17:27:36 +00:00
John Mark Bell
864f682465 Squash warnings
svn path=/trunk/netsurf/; revision=10866
2010-10-05 19:24:54 +00:00
Vincent Sanders
02ab2db00f Add flexible toolbar support and docuemnt it
svn path=/trunk/netsurf/; revision=10862
2010-10-04 15:50:39 +00:00
John Mark Bell
696a71c80d Load/save cookies file in framebuffer frontend
svn path=/trunk/netsurf/; revision=10685
2010-08-10 19:56:08 +00:00
Chris Young
004aee8281 Amiga: Add "cut" option; make cut/copy/paste menus context sensitive; allow dragging
selections within NetSurf window to text fields (does not work across windows).

todo: switching tabs will reset cut/copy/paste menus to initial state; cut option is
putting something on the clipboard which causes a crash when pasting it back

svn path=/trunk/netsurf/; revision=10660
2010-07-24 16:39:37 +00:00
Michael Drake
c77552d9f8 Bring throbber off screen edge by spacing_width.
svn path=/trunk/netsurf/; revision=10607
2010-07-07 18:20:43 +00:00
John Mark Bell
5bebf2f2fc Merge branches/vince/netsurf-fbtk-rework to trunk.
svn path=/trunk/netsurf/; revision=10605
2010-07-07 18:08:17 +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
Vincent Sanders
0807b40513 rationalise callback routines to use a unified interface
svn path=/trunk/netsurf/; revision=10550
2010-05-04 22:41:58 +00:00
Daniel Silverstone
5e887908b3 Consolidate several 'myrealloc' functions into ns_realloc, rename one which *is* different, thereby eliminating the word 'myrealloc' from the NS codebase
svn path=/trunk/netsurf/; revision=10530
2010-04-30 16:06:03 +00:00
John Mark Bell
000e6ad3de It turns out that realloc(ptr, 0) --> free(ptr) is not actually required by the C standard (whereas realloc(NULL, size) --> malloc(size) is).
Therefore, explicitly model the behaviour expected by our libraries (that realloc of 0 size is equivalent to free).

svn path=/trunk/netsurf/; revision=10524
2010-04-30 07:00:58 +00:00
Vincent Sanders
0d3601a7ce fix pending redraw discovery
svn path=/trunk/netsurf/; revision=10515
2010-04-28 23:29:12 +00:00
Vincent Sanders
2fd1476f8c The schedule_run function is only called by the frontends so remove it from the core header and add its definition to the frontend headers.
Alter the framebuffer schedule_run to return the time untill the next event.


svn path=/trunk/netsurf/; revision=10512
2010-04-28 22:39:37 +00:00
Vincent Sanders
dd61b8db20 fill bottom right hand corner of framebuffer furniture
svn path=/trunk/netsurf/; revision=10505
2010-04-28 08:57:50 +00:00
John Mark Bell
9c488e3d95 Make sure that an event occurred before inspecting it
svn path=/trunk/netsurf/; revision=10493
2010-04-27 06:27:54 +00:00
John Mark Bell
e692750d5f Ensure that we clean up the root browser window
svn path=/trunk/netsurf/; revision=10492
2010-04-27 06:23:52 +00:00
Vincent Sanders
fe151c135d First steps towards rationalising fbtk, split teh scrollbar widgets out
svn path=/trunk/netsurf/; revision=10466
2010-04-22 23:50:58 +00:00
John Mark Bell
a4503a1574 Fix framebuffer build
svn path=/trunk/netsurf/; revision=10404
2010-04-15 22:32:13 +00:00
John Mark Bell
2748fe4f64 Make downloads work again.
svn path=/trunk/netsurf/; revision=10243
2010-04-05 21:35:38 +00:00
Vincent Sanders
0194e4bb55 avoid diviosion by zero errors;
svn path=/trunk/netsurf/; revision=10223
2010-03-31 19:14:01 +00:00
Vincent Sanders
95e4a737de rationalise the usage of the file scheme
svn path=/trunk/netsurf/; revision=10221
2010-03-31 13:59:57 +00:00
Vincent Sanders
e00fb7bd2d second pass at startup refactor removing the gui_init callback
svn path=/trunk/netsurf/; revision=10205
2010-03-29 20:03:44 +00:00
Vincent Sanders
7e67527267 first part of initialisation refactor move gui_init2 into frontends
svn path=/trunk/netsurf/; revision=10202
2010-03-29 16:59:30 +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
John Mark Bell
babf642970 Process command line after loading options file.
svn path=/trunk/netsurf/; revision=9964
2010-02-10 07:22:50 +00:00
Vincent Sanders
e01d93f344 Refactor main into the frontends
remove unused embedded global

svn path=/trunk/netsurf/; revision=9851
2010-01-20 20:32:30 +00:00