Commit Graph

517 Commits

Author SHA1 Message Date
Vincent Sanders
796bb0f652 update framebuffer frontend to remove reformat API 2017-04-26 10:05:57 +01:00
Vincent Sanders
5467d5e157 update beos frontend to remove reformat API 2017-04-26 10:04:43 +01:00
Vincent Sanders
3c264d63e6 update atari frontend to remove reformat API 2017-04-26 10:03:29 +01:00
Vincent Sanders
52ee93597a update monkey frontend to remove reformat API 2017-04-26 10:02:24 +01:00
Vincent Sanders
be7aef9231 update riscos frontend to remove reformat API 2017-04-26 10:00:51 +01:00
Vincent Sanders
1e197432f8 update amiga frontend to remove reformat API 2017-04-26 09:59:08 +01:00
Vincent Sanders
3e24dc831b update windows frontend to remove reformat 2017-04-26 09:55:36 +01:00
Vincent Sanders
413ee474d2 update cocoa frontend with reformat API change 2017-04-26 09:52:39 +01:00
Vincent Sanders
72bd28d16e update GTK frontend for reformat API change 2017-04-26 09:47:55 +01:00
Michael Drake
e227b3d29c Windows: Update for core hotlist API change. 2017-04-25 12:16:33 +01:00
Michael Drake
0d8ed168b2 RISC OS: Update for core hotlist API change. 2017-04-25 12:13:07 +01:00
Michael Drake
a137de40a9 GTK: Update for core hotlist API change. 2017-04-25 12:08:32 +01:00
Michael Drake
c359bd9774 Cocoa: Update for core hotlist API change. 2017-04-25 12:06:09 +01:00
Michael Drake
229f6b5f23 Atari: Update for core hotlist API change. 2017-04-25 12:03:29 +01:00
Michael Drake
a44a0875a7 Amiga: Update for core hotlist API change. 2017-04-25 11:57:46 +01:00
Vincent Sanders
6e0f5bee55 Update beos frontend to use invalidate window area API 2017-04-23 20:59:50 +01:00
Vincent Sanders
becd3863c4 Update framebuffer frontend to use invalidate window area API 2017-04-23 20:42:37 +01:00
Vincent Sanders
6177e2930b Update monkey frontend to use invalidate window area API 2017-04-23 20:42:37 +01:00
Vincent Sanders
b61c21c7d0 Update windows frontend to use invalidate window area API 2017-04-23 12:05:30 +01:00
Vincent Sanders
d930da3899 update gtk frontend with invalidate window API change 2017-04-23 12:05:30 +01:00
Vincent Sanders
b102950650 update atari frontend for invalidate window API change 2017-04-23 12:05:30 +01:00
Vincent Sanders
6833f526f6 update amiga frontend invalidate window API change 2017-04-19 16:32:21 +01:00
Vincent Sanders
febbdec345 update riscos frontend to invalidate window API 2017-04-19 16:27:14 +01:00
Chris Young
7e0ed132f7 Adjust the requested class versions to be the minimum required.
Some features of later versions are used but are either restricted to OS4 only, or runtime version checks select the appropriate routines.
Where the lowest required version cannot be determined, the version provided in the ClassAct 3.3 archive is requested.
Bugs may mean these older classes do not work as expected.
In addition, restrict the opening of listbrowser.gadget and the custom Stringview class to OS4 only.
2017-04-16 17:49:27 +01:00
Michael Drake
2c8a47b7d4 GTK: Slight optimisation to nsfont_split().
When we aren't modifying the line, pango_layout_get_line_readonly()
is a faster alternative to pango_layout_get_line().
2017-04-11 16:32:03 +01:00
Michael Drake
90100bbd45 GTK: Font rendering: Use same pango layout for painting as for measuring.
With this change we are consistent about how the pango layout
we use is created.

Now it always comes from a pango_layout_new() call on a pango context
that comes from gdk_pango_context_get().

Previously the pango layout used for painting came from a call
to pango_cairo_create_layout(), which required a global called
"current_cr" (a cairo drawing context), which is only valid
during redraw (painting).  Since it was only valid during
painting, this source could not be used for pango layout
creation for the measuring code.
2017-04-11 16:13:13 +01:00
Chris Young
3df40959e3 Allow for more varied notification backmsgs 2017-03-21 18:42:41 +00:00
Chris Young
cd39367ef4 Try to avoid extraneous progress notifications 2017-03-20 20:53:39 +00:00
Chris Young
ee88653dc0 Enable displaying download progress within a notification.
Requires Enhancer Pack (Ringhio 53.65+)
Defaults to 0 (off) as there is currently no check to see if this version is installed.
This is currently potentially dangerous to toggle whilst a download is in progress, so cannot be changed through the GUI.
2017-03-20 20:35:40 +00:00
Vincent Sanders
e182a4d67c fix memory leak in beos instantiate error path 2017-03-05 14:43:23 +00:00
Vincent Sanders
e190cdf926 fix uninitialised variable usage in atari ssl viewer
cppcheck identified uninitialised variable usage error
2017-03-05 14:40:49 +00:00
Vincent Sanders
ca942e9e26 fix use of uninitialised variables in gtk print
fixes errors detected by coverity.
2017-03-04 14:23:06 +00:00
Vincent Sanders
30ccc06984 fix errors from cppcheck in amiga frontend 2017-03-03 19:34:11 +00:00
Vincent Sanders
7dee82d900 remove unused computed rectangle in gtk local hostory redraw 2017-02-26 16:26:50 +00:00
Vincent Sanders
86134d9881 add local history destruction for gtk 2017-02-26 16:26:50 +00:00
Chris Young
25f9610d03 Atari packaging was copying ca-bundle twice 2017-02-25 15:39:34 +00:00
Chris Young
7a42134bee When switching to outline fonts on OS3 reset the fonts
TODO: make this change in the GUI when toggling
2017-02-25 00:16:49 +00:00
Chris Young
f162ddc711 Fix menu shortcuts on non-menuclass menus 2017-02-24 23:43:51 +00:00
Vincent Sanders
d9a2c7b9c1 fix some doxygen errors 2017-02-24 14:02:31 +00:00
Vincent Sanders
1820bb7e63 fix remaining doccomment errors 2017-02-22 08:30:58 +00:00
Vincent Sanders
d35f61caa3 fix merge error in windows frontend 2017-02-19 12:02:23 +00:00
Vincent Sanders
ae45b18b45 Merge branch 'vince/localhist-corewin' 2017-02-19 11:39:47 +00:00
Vincent Sanders
0f69965805 clean up some of the doxygen generation warnings 2017-02-19 11:32:17 +00:00
Vincent Sanders
67b22a8111 cleanup windows frontend documentation comments and spelling 2017-02-17 20:44:37 +00:00
Vincent Sanders
8ddb9df377 update gtk frontend to use corewindow local history 2017-02-17 09:06:32 +00:00
Vincent Sanders
9d0943b8e5 remove redundant global context 2017-02-15 08:37:52 +00:00
Vincent Sanders
6741b6e287 clean up incorrect documentation comments from plotter API rework 2017-02-14 23:06:04 +00:00
Chris Young
0c32cbb7cb Try to ensure we get the correct type of native BitMap 2017-02-13 18:41:38 +00:00
Chris Young
184348dada Remove direct_render, only ever used for debugging 2017-02-13 18:30:30 +00:00
Chris Young
76d1758d7f Make gui_globals less... global 2017-02-13 18:27:37 +00:00
Chris Young
e38f4d2f1a Get render bitmap size via function 2017-02-13 18:16:22 +00:00
Chris Young
593ec1fbea Manage shared pens internally unless we need multiple lists (eg. per browser_window) 2017-02-13 18:09:43 +00:00
Chris Young
075e9c0258 Alloc gui_global structure when initialising 2017-02-13 17:46:20 +00:00
Chris Young
edaa9c29f2 Remove use of global context data from Amiga frontend 2017-02-13 00:18:32 +00:00
Vincent Sanders
7b9fa8d7eb fix plotter merge 2017-02-12 20:31:18 +00:00
Vincent Sanders
1666944c7e Merge branch 'vince/plotctx' 2017-02-12 20:01:05 +00:00
Vincent Sanders
513366a7a2 update beos to new plotter API 2017-02-12 19:56:09 +00:00
Vincent Sanders
4361bfeace update atari plotters to new API 2017-02-12 18:01:46 +00:00
Michael Drake
703fd10400 RISC OS: Initialise nsfont before hotlist.
This should allow the treeview to measure the width of label text.
2017-02-12 10:18:02 +00:00
Chris Young
7bc4f46df1 Fix OS3 build 2017-02-11 16:28:49 +00:00
Vincent Sanders
a3a7cbf06a update amiga plot API 2017-02-11 13:57:07 +00:00
Vincent Sanders
320c0e1a75 update windows plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
386951ecfc update framebuffer to new plotter API 2017-02-11 13:57:07 +00:00
Vincent Sanders
0f43b23270 update monkey plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
3ea137ca3d update RISC OS plotters to new API 2017-02-11 13:57:07 +00:00
Vincent Sanders
78d601eb76 Update GTK plotters to use new API 2017-02-11 13:57:07 +00:00
Daniel Silverstone
10f1b7a1aa Fix up GTK+ hotlist finalisation to clean up properly 2017-02-05 10:43:58 +00:00
Vincent Sanders
b23f55c81b fix warnings and errors in atari frontend 2017-01-21 16:49:14 +00:00
Vincent Sanders
6075feb487 create netsurf inttypes header to have portable integer formatting macros 2017-01-21 14:20:55 +00:00
Vincent Sanders
11f11e0a7f add missing utils header for NOF_ELEMENTS macro 2017-01-19 22:19:46 +00:00
Vincent Sanders
10248264ff fixup cocoa form select menu includes to get rect type definition 2017-01-19 21:31:12 +00:00
Vincent Sanders
d1246c2061 add missing include of inttypes to atari cookies viewer 2017-01-19 21:30:43 +00:00
Vincent Sanders
70d700b26c rationalise use of utils/utils.h header 2017-01-19 21:15:08 +00:00
Chris Young
a99c7a5c44 remove silly debug 2017-01-16 22:28:02 +00:00
Chris Young
2083375ec4 Perform dynamic update of Hotlist menu when using MenuClass menus
Currently updates on closing the Hotlist window, but could be persuaded to update on every hotlist drag if deemed necessary.
2017-01-16 22:24:05 +00:00
Chris Young
d871be3ea0 Update documentaton 2017-01-15 20:15:10 +00:00
Chris Young
d843f78c20 disable dynamic hotlist menu update
menuclass doesn't appear to be working as advertised
2017-01-15 20:11:31 +00:00
Chris Young
9e814fd0f0 minor menu fixes 2017-01-15 20:01:49 +00:00
Chris Young
b78d6f458e Attempt hotlist menu refresh 2017-01-15 17:51:55 +00:00
Chris Young
b8640956d4 Ignore the other check toggle stuff with menuclass
The one thing we are toggling is actioned immediately when potentially changing the state in the prefs window
2017-01-15 16:13:32 +00:00
Chris Young
8e7603e6a2 Update JS menu check state when prefs option is toggled 2017-01-15 16:10:23 +00:00
Chris Young
606cc0c219 Split up menu.c into generic and gui_window-specific files 2017-01-15 16:05:07 +00:00
Chris Young
52f98c9fb2 Share menuclass object with all browser windows 2017-01-15 14:55:15 +00:00
Chris Young
24fed9d51c Remove excess logging and fix user-added hotlist separator bars 2017-01-15 00:22:37 +00:00
Chris Young
b6f7ea536c Fix MenuClass menu creation 2017-01-14 23:47:00 +00:00
Chris Young
e4d6d9a972 Get selected state with MenuClass compatible abstraction 2017-01-14 21:04:51 +00:00
Chris Young
313aaabdde Replace OnMenu/OffMenu with MenuClass compatible abstraction 2017-01-14 20:51:51 +00:00
Chris Young
9f10babe64 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/menuclass 2017-01-14 19:58:54 +00:00
Vincent Sanders
7dab7cb43d move plot style header to netsurf include directory
move plotter style header and adjust all callers to use only what they
actually require.
2017-01-13 10:03:24 +00:00
Chris Young
0d9023148d Our hook function needs to be in UserData, not PickHook, for window.class reasons. 2017-01-12 18:46:48 +00:00
Chris Young
8ffc2e753b Avoid accessing NULL pointer 2017-01-12 18:32:06 +00:00
Daniel Silverstone
9e03737627 Dave Higton's fix for 'tree' windows not being movable off-screen 2017-01-10 11:23:24 +00:00
Chris Young
439deddba1 Attempt to construct menu using menuclass 2017-01-09 19:06:09 +00:00
Chris Young
4fab8f830b Queue redraws for SimpleRefresh browser windows 2017-01-08 23:10:27 +00:00
Chris Young
c19ea4deaa Support SimpleRefresh corewindows
These queue redraws unlike the main browser window, which seems to work a bit better than redrawing immediately.
2017-01-08 13:59:51 +00:00
Chris Young
05e4463230 Update corewindow scrollbars when user resizes window 2017-01-08 13:21:32 +00:00
Chris Young
074afb43f4 Process in-window scrollbars using IDCMPUPDATE too 2017-01-08 01:55:45 +00:00
Chris Young
3436c097d2 Ensure we free the NM_END menu item 2017-01-08 01:29:50 +00:00
Chris Young
bf3ba5c97b Complete Amiga corewindow implementation and migration from old treeviews
Merge branch 'chris/amiga-corewindow'
2017-01-08 01:09:41 +00:00
Chris Young
ae8959fa8b Remove old tree implementation 2017-01-08 00:40:40 +00:00
Chris Young
d885c79743 remove excessive logging 2017-01-08 00:34:06 +00:00
Chris Young
22e25971ed Working internal and tree-to-browser drags
tree-to-tree drags don't work unless the source supports internal drag moves (so global history to hotlist won't work as it did before)
2017-01-08 00:29:49 +00:00
Chris Young
0f58d92ab6 Dragging works internally
(except it doesn't, as the hotlist window is broken and doesn't respond to the mouse until selecting random menu items)
2017-01-07 18:00:48 +00:00
Chris Young
83840dca49 Possibly slightly less but still definitely broken drag handling 2017-01-07 17:43:45 +00:00
Vincent Sanders
d1693c27c0 fix windows installer generation
the windows installer package generation was not correctly
parameterised which resulted in fetching resources from incorrect
locations. Additionally the clean target was not removing generated
installer output.
2017-01-07 13:28:40 +00:00
Vincent Sanders
9be0f4ccaf fixup usage of directory creation macro in Makefiles 2017-01-07 13:21:25 +00:00
Chris Young
a4bedbbaeb Broken corewindow drag implementation 2017-01-07 00:26:15 +00:00
Chris Young
917a602dce Conversion of Amiga hotlist manager to corewindow 2017-01-06 23:56:52 +00:00
Chris Young
a86f2c8dd3 Migrate global history to corewindow 2017-01-06 18:27:09 +00:00
Chris Young
e98a05bb08 Complete cookie manager corewindow interface 2017-01-05 18:50:38 +00:00
Chris Young
6e957396a9 fix some ui corruption on scrollbar hide 2017-01-03 20:14:41 +00:00
Chris Young
d6f6326ce9 it's not a double-click if the mouse has moved 2017-01-03 20:01:58 +00:00
Chris Young
26b98ac51b template for menu addition in cookie manager 2017-01-03 19:43:55 +00:00
Chris Young
57a2bb8599 Merge branch 'master' of git://git.netsurf-browser.org/netsurf into chris/amiga-corewindow 2017-01-03 19:29:04 +00:00
Chris Young
695783e33b re-structure menu code to make it useable elsewhere in the frontend 2017-01-03 19:27:40 +00:00
Chris Young
2e11f7f3cb less cranky scrollbars 2017-01-03 18:03:43 +00:00
Chris Young
5eb7ee97ed Basic conversion of cookie manager to core window
slightly broken; blank window until resized; scroll bar wrong; no menu
2017-01-03 00:26:00 +00:00
Chris Young
3b1ef784fd Partially implement Amiga core window
Migrate SSL cert window to use core window
Core window implementation has some features missing but is good enough for SSL cert
I will improve it as I migrate the other windows.
2017-01-02 19:18:28 +00:00
Chris Young
2bd8eb8c0b Fix sslcert redraw 2017-01-02 19:16:33 +00:00
Chris Young
64bb74bdaf fix mouse click processing 2017-01-02 18:57:16 +00:00
Chris Young
48e95ad2b3 show/hide scrollbars as required
move the sslcert scrollbars into the window as per the style guide
2017-01-02 18:41:40 +00:00
Vincent Sanders
eb63c1cc50 update default framebuffer font path 2017-01-02 15:28:58 +00:00
Chris Young
0fafa9576e make the window title text common 2017-01-02 15:02:32 +00:00
Chris Young
4892497a19 correct full-window redraw co-ords 2017-01-02 14:55:17 +00:00
Chris Young
4b7abde7b0 ssl cert window should not have a close gadget 2017-01-02 14:50:20 +00:00
Chris Young
98f94c4bf3 move mousemove back to the event loop and ensure the window is created cleared 2017-01-02 14:41:08 +00:00
Chris Young
e7c9b863b3 Take the redraw routine from old tree_redraw with less meddling 2017-01-02 13:47:21 +00:00
Chris Young
a9cc0792a4 migrate sslcert to use corewindow
predictably blank
2017-01-02 12:57:07 +00:00
Michael Drake
a5222b579b Windows: Fix font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 12:10:14 +00:00
Michael Drake
e3b2f792c0 Framebuffer: Fix internal font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 12:01:40 +00:00
Michael Drake
24b7fdf438 Framebuffer: Fix freetype font table to return nserror.
We were returning true on success, which when the return value was
tested for being NSERROR_OK (0), meant it was treated as failure.

Now we correctly return NSERROR_OK on success.
2017-01-02 11:59:32 +00:00
Chris Young
dab118b6f7 Amga core window redraw
This almost certainly will not work properly
2017-01-01 23:57:35 +00:00
Chris Young
3227ed6556 handle core window mouse buttons
todo: support drags
2017-01-01 17:26:55 +00:00
Chris Young
eb1f39fe7d Process mouse moves and qualifier keys
NB: we are doing mouse moves differently by using an IDCMP hook on space.gadget, as this gives us co-ordinates relative to the render area
GID_DRAW object when the window is defined will need tagging ICA_TARGET, ICTARGET_IDCMP
2017-01-01 16:45:27 +00:00
Chris Young
31c08f39be Basic event loop, only handles keypresses and window closure so far 2017-01-01 14:53:37 +00:00
Chris Young
c40e8197c2 Allow for the prospect of in-window scrollbars 2017-01-01 14:34:04 +00:00
Chris Young
8196f5b602 Basic template for an Amiga core window
Drawing and event processing not written yet
2017-01-01 13:28:11 +00:00
Chris Young
86a0f14d0a Make the documentation reflect reality.
ExtMem is enabled by default for now to give it a good workout.  Disabled may be a more sensible default.
2016-12-31 14:47:33 +00:00
Chris Young
8af9a8407b Don't unmap ExtMem immediately as:
(a) it is upsetting the gif decoder (although I suspect it is caused by the OS struggling with the excessive remaps)
(b) We are probably going to need to map it back in imminently for display
2016-12-31 14:43:06 +00:00
Chris Young
36b26b861f Update to test ExtMem on OS4.1FEU1
Mostly works, but falls over when there are lots of tiny GIF anims on screen
2016-12-31 14:17:22 +00:00
Chris Young
43bbdc520d Fix merge error 2016-12-31 14:04:14 +00:00
Chris Young
b7551fec72 NULL iextmem 2016-12-31 14:03:34 +00:00
Chris Young
570212add2 Don't map an extmem area is it is already mapped, just extend the lifetime 2016-12-31 14:03:34 +00:00
Chris Young
adac4d98bb More logging 2016-12-31 14:03:34 +00:00
Chris Young
982a59744f Revert "Disable ExtMem in palette-mapped modes"
This reverts commit 4db40c3f27d0ade8fc76f57cd383e5ff52ad7c93.
2016-12-31 14:03:33 +00:00
Chris Young
205abcf189 Debug logging 2016-12-31 14:03:33 +00:00
Chris Young
937dce4f2e Schedule unmapping the extmem object to ensure it releases main memory 2016-12-31 14:03:33 +00:00
Chris Young
493036a920 Documentation 2016-12-31 14:02:40 +00:00
Chris Young
a83afda791 Disable ExtMem in palette-mapped modes
Something handling palette mapped images causes a freeze.
2016-12-31 14:01:29 +00:00
Chris Young
0804c43bf1 Allocate uncompressed bitmap data in extended memory.
This currently isn't working correctly - it simply freezes at some point after loading the page.
2016-12-31 14:01:29 +00:00