Commit Graph

452 Commits

Author SHA1 Message Date
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
Vincent Sanders f7916866e3 remove all references to using libMNG 2014-01-04 17:07:11 +00:00
Michael Drake 6ca908a192 Use libnsfb's tiled bitmap function, instead of tiling ourselves. 2013-10-28 23:05:48 +00:00
Michael Drake 10bc47a709 Register destruction function for browser widget. 2013-10-23 22:17:36 +01:00
Michael Drake 4fa77f9686 Add font_finalise. 2013-10-23 21:32:16 +01:00
Michael Drake 897cbb7df1 Free font face id descriptors. 2013-10-23 21:25:52 +01:00
Michael Drake 555924a73d Call font finaliser on quit. 2013-10-23 21:24:55 +01:00
Michael Drake e1a96ecfe1 Register destruction callback to free text widget text. 2013-10-23 19:58:20 +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 fe67bd95d7 There must be a next widget for swap_siblings. 2013-09-05 14:24:17 +01:00
Michael Drake cf8ffa412a Remove old hotlist, cookies, and history_global_core modules.
New versions of expand/collapse node functions for these modules aren't yet implemented.
2013-09-02 22:41:04 +01:00
Michael Drake 4473f4b8a8 Remove tree icon_name globals from all the front ends. 2013-09-02 16:39:46 +01:00
Michael Drake 5c7ca39ada Remove tree_url_node module. Had to disable treeview scanning in amiga and cocoa front ends. Amiga front end very likely broken. 2013-09-02 14:17:09 +01:00
Michael Drake c56560c2ac Suppress most fbtk logging when FBTK_LOGGING is unset. 2013-08-29 12:28:37 +01:00
Michael Drake a1eb1dec73 LOG macro terminates line itself. 2013-08-29 12:27:47 +01:00
Michael Drake 5ca6862a87 FONT_SIZE_SCALE is for preserving fractional parts, so use it properly. 2013-08-29 12:04:37 +01:00
Michael Drake 68078d7ea7 Fix up for cookies_old rename. 2013-07-22 10:21:37 +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 a5355ec557 change all core and frontend options headers to new format 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 631265ef6b Front ends have no reason to include desktop/selection.h now. 2013-05-10 12:16:05 +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
Vincent Sanders 98369b74e2 fixup message splitting with updated tool 2013-05-02 09:24:18 +01:00
Michael Drake ad0e79d85c More appropriate system colours. 2013-04-09 15:43:34 +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 7af0614202 Make delete line key enum value name less missleading. (Doesn't cut to clipboard.) 2013-02-11 10:34:06 +00:00
Michael Drake 3148f8a6c3 Make compatible with new nsfont_split expectations. Only splits on spaces. 2013-02-10 18:26:59 +00:00
Michael Drake fc9199f14e Update framebuffer front end to implement new clipboard API. 2013-01-08 17:03:12 +00:00
Vincent Sanders 484fa8b110 move common include path setup to core Makefile 2012-12-20 15:27:07 +00:00
Vincent Sanders c87cbe5655 split target defaults out 2012-12-13 19:26:24 +00:00
Vincent Sanders 45906b9dc2 make macro name more correct 2012-12-13 16:31:05 +00:00
John-Mark Bell 617d655c7b Remove libxml 2012-11-10 00:11:57 +00:00
Rob Kendrick (fatigue) 075e4336d8 Use FatMessages in framebuffer frontend 2012-11-04 11:44:55 +00:00
John-Mark Bell f824ab8af4 Port save complete to libdom. 2012-11-03 23:19:45 +00:00
Vincent Sanders 5097223570 add javascript build support to framebuffer 2012-10-22 16:37:58 +01: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 d88a839937 Remove suspension of bmp/gif images. It's completely redundant with the convert on demand core image cache. 2012-10-14 20:03:18 +01:00
Michael Drake 5f7a3a7ada Widget can't be NULL. 2012-10-11 14:07:22 +01:00
Michael Drake d9e7d58106 Fix up ripples from urldb change. 2012-10-11 11:20:02 +01:00
Vincent Sanders 5800789df2 trivial docuemntation cleanups to address some of the huge number of docuemntation warnings 2012-10-08 14:52:24 +01:00
Michael Drake 761c42840d Install netsurf.png too. 2012-09-29 22:15:32 +01:00
Michael Drake 19c8654f77 Add missing resources to intall target. 2012-09-29 22:06:26 +01:00
Michael Drake 84e1bf89d9 Add OSK icon. 2012-09-28 19:52:21 +01:00
Vincent Sanders e237ebac8f Split install and package targets.
Install target is for installing on the local machine and package generates a package
2012-08-23 11:46:31 +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 d106091d6e Pass font plot style out to front end clipboard append function. 2012-08-13 14:43:04 +01:00
Michael Drake 53a379ea45 Squash warning. 2012-08-10 12:17:34 +01:00
Michael Drake eee26ed867 Squash set but unused variable warning. 2012-08-10 12:09:53 +01:00
Michael Drake 126141a52c Ensure text is at the right height for Freetype and Internal fonts. 2012-08-08 14:04:57 +01:00
Michael Drake 36d3056526 Grab pointer during drag. 2012-08-02 16:29:37 +01:00
Michael Drake 408dd00ed4 Use selection_copy_to_clipboard instead of peering at core innards. 2012-08-02 14:25:19 +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 c0bfe7dfdf Fix freetype nsfont_position_in_string to return nearest, rather than next. 2012-08-01 23:58:54 +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 46527795db Pass pointer hotspots to libnsfb. 2012-08-01 12:52:46 +01:00
Michael Drake d84ad62a04 Scroll text in writable text widget so caret is always in view. 2012-08-01 09:29:26 +01:00
Michael Drake 465ebb2c7b Only writable text widget needs caret rendering. 2012-08-01 09:16:25 +01:00
Michael Drake 9e3db46b67 Handle CTRL modifier too. CTRL with cursor left/right is same as SHIFT. CTRL+U clears writable. 2012-07-31 22:55:08 +01:00
Michael Drake 21ce8800b8 Cursor left/right keys plus modifier move caret to extrems. 2012-07-31 22:40:47 +01:00
Michael Drake 75cc4a06be Factor out some repeated code. 2012-07-31 22:30:39 +01:00
Michael Drake 53183b2411 Make text input widget remove caret on "strip focus" event. 2012-07-31 22:18:44 +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 72cb5b6ea4 Add widget callback for getting stripped of focus. Call it in the input setter, on previous input holder. 2012-07-31 22:14:48 +01:00
Michael Drake daa47fce52 Use setter when giving clicked input focus. 2012-07-31 21:49:01 +01:00
Michael Drake 2999410af6 When a text input widget has its text set, and it has the caret, move the caret to the end. 2012-07-31 21:04:20 +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 140795500c Claim, position, and render caret in text input widget. Currently does not remove caret when input widget is stripped of focus (because widget doesn't know). 2012-07-31 20:43:43 +01:00
Michael Drake 2e4bb2d020 Round to nearest point between chars in nsfont_position_in_string, instead of rounding down. 2012-07-31 20:41:27 +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 4125a8afdf Remove strlen from redraw functions. 2012-07-31 15:18:25 +01:00
Michael Drake 45b9d96678 Add support for editing text input widget contents from arbitrary position in string (instead of just end). 2012-07-31 15:13:52 +01:00
Michael Drake 90b0c48bb2 Split out common code to generate a font style for text input widget. 2012-07-31 14:06:57 +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 8db6d74bcb Add basic awareness of text input caret to ftbk and functions to get/set caret pos. 2012-07-31 14:04:12 +01:00
Michael Drake 41f88e6937 Scrollbar behaviour fixes.
Stop scrollbar sliding at different rate from pointer.
Stop jump on drag start when scrollbar position indicator isn't at zero.
2012-07-27 14:05:13 +01:00
Michael Drake 382c2f2289 Only warp pointer once for a sequence of consecutive move events. Further reduces lag when dragging scrollbar. 2012-07-26 23:14:27 +01:00
Michael Drake 514bee5786 Handle consecutive queued mouse move events together. Reduces pointer lag when busy. 2012-07-26 22:38:38 +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
Michael Drake 888d8eac4f A few tweaks from when I was looking for internal font renderer bug in wrong place. 2012-07-26 17:37:44 +01:00
Michael Drake 02561162a9 Add welcome page resources. Add symlinks to English welcome page to gtk and framebuffer. 2012-07-21 13:09:14 +01:00
Michael Drake f7683fd019 Update URLs for glyph data. 2012-07-15 17:41:37 +01:00
Michael Drake ce20021df7 Fix colour string matching. Lose unneeded case insensitivity in matching.
svn path=/trunk/netsurf/; revision=13739
2012-03-27 11:02:35 +00:00
Michael Drake eb189092c7 Constify param to gui_system_colour_char function.
svn path=/trunk/netsurf/; revision=13737
2012-03-27 10:47:29 +00:00
Vincent Sanders 3576ad71cb fix up framebuffer build flags
fix select attributes

svn path=/trunk/netsurf/; revision=13643
2012-03-24 22:42:14 +00: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 ebebdfda4b Fix framebuffer build.
svn path=/trunk/netsurf/; revision=13222
2011-12-02 17:46:57 +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 787f4954ea Fix framebuffer
svn path=/trunk/netsurf/; revision=12984
2011-10-07 21:20:45 +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
Michael Drake 36eff6da2b Port more internals to nsurl. Front ends may need updating.
svn path=/trunk/netsurf/; revision=12926
2011-10-03 15:56:47 +00:00
Michael Drake 52513e6c9f Reduce logging flood.
svn path=/trunk/netsurf/; revision=12919
2011-10-01 17:23:46 +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
Vincent Sanders cd554e6f1e make image content handlers build conditional from teh makefile
svn path=/trunk/netsurf/; revision=12673
2011-08-28 14:29:15 +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
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
Vincent Sanders a65d235a17 modern debian no longer links the math library bt default
svn path=/trunk/netsurf/; revision=12150
2011-04-02 08:24:13 +00:00
Vincent Sanders 06764ea9f0 add control of fbtk text widget padding
svn path=/trunk/netsurf/; revision=12116
2011-03-21 07:51:37 +00:00
Vincent Sanders f6eabd6cc9 Fix framebuffer resource: handling
svn path=/trunk/netsurf/; revision=12095
2011-03-17 12:29:42 +00:00
Michael Drake a70c32422a gui_find_resource --> gui_get_resource_url.
svn path=/trunk/netsurf/; revision=12089
2011-03-17 11:57:09 +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
John Mark Bell d945884cb1 Fix font sizing in text widget
svn path=/trunk/netsurf/; revision=12016
2011-03-13 10:52:09 +00:00
John Mark Bell a96094205b Scale font sizes by the screen DPI, rather than assuming 72
svn path=/trunk/netsurf/; revision=12014
2011-03-13 10:51:47 +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
John Mark Bell fc09f79aa4 Remove unnecessary debug
svn path=/trunk/netsurf/; revision=11776
2011-02-23 22:55:39 +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 a66575dfeb Remove thumbnail_create() from browser.h. Make RO front end use the core thumbnail_redraw function. Make other front ends include the right header for thumbnail_create().
svn path=/trunk/netsurf/; revision=11716
2011-02-19 22:17:54 +00:00
Michael Drake 94e7b44ebc Pass clip rect to clip plotters as struct. Simplify clip rect handling in debug window code. Pass clip rect to select menu as struct.
svn path=/trunk/netsurf/; revision=11683
2011-02-14 22:05:39 +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
Vincent Sanders 7c3e401f75 fix bogus comment on return value units
svn path=/trunk/netsurf/; revision=11631
2011-02-08 23:39:15 +00:00