Commit Graph

12831 Commits

Author SHA1 Message Date
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
bb23418981 Merge branch 'chris/extmem'
This enables AmigaOS4.1FEU1 to use Extended Memory for the storage of uncompressed bitmaps.
2016-12-31 14:53:10 +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
Vincent Sanders
5382ad2aa6 patch up cocoa use of depricated tree api 2016-12-31 01:04:27 +00:00
Vincent Sanders
48f868a955 move tree compatability layer to amiga frontend 2016-12-31 01:04:27 +00:00
Chris Young
76673bbf65 add a todo 2016-12-31 00:58:03 +00:00
Chris Young
5e523b608a Simply the event loop for the shared message port
This now simply calls the event callback for each window, which returns TRUE is the window was closed during event processing.
The window loop now restarts if any windows were closed, which fixes a potential rare issue with delayed event processing.
2016-12-31 00:51:05 +00:00
Chris Young
9df30eb78f Update local history window to use event callback 2016-12-31 00:43:06 +00:00
Chris Young
d8eec1b048 Update print window to use event callback 2016-12-31 00:37:59 +00:00
Chris Young
d9c8d1c70c Update 401 login window to use event callbacks 2016-12-31 00:30:42 +00:00
Chris Young
d90e82d3f1 Simplify closing of windows on quit
If they have a close callback it will be called.
Some windows are attached to browser windows and closed elsewhere without using the callbacks.
2016-12-31 00:14:44 +00:00
Chris Young
4893a9f9af Update download window to use event callbacks 2016-12-31 00:11:06 +00:00
Chris Young
6ba5edaede Update GUI options window to use event callback 2016-12-31 00:02:21 +00:00
Chris Young
47379c0444 Update treeviews to use event callback 2016-12-30 13:06:42 +00:00
Chris Young
9379a64c6d Start tidying up Amiga event-handling code
As we used a shared message port, we call different event-handling functions for different window types.
This changes that so we register the event-handler as a callback so we can handle event processing for all windows generically.
Currently the main browser window and find window use the new approach, so the handling still has a long list of window types.
This should also make window_list private to gui.c
2016-12-30 00:59:12 +00:00
Michael Drake
7ca75a4cee RISC OS: Fix hotlist save.
The read and write paths for hotlist are different:

    #define CHOICES_PREFIX "<Choices$Write>.WWW.NetSurf."

    NSOPTION_STRING(hotlist_path, "NetSurf:Hotlist")
    NSOPTION_STRING(hotlist_save, CHOICES_PREFIX "Hotlist")

This switches to using hotlist_save for writing.
2016-12-29 15:15:41 +00:00
Michael Drake
7fc6e6c0c0 Atari: Fix typo. 2016-12-29 15:08:44 +00:00
Michael Drake
32d2dda01c Old tree code compat layer: Update so it still builds. 2016-12-29 15:01:07 +00:00
Michael Drake
c60ab801f3 Windows: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 15:01:07 +00:00
Michael Drake
512a4335da Atari: Update for new hotlist API. 2016-12-29 15:01:07 +00:00
Michael Drake
354656b442 RISC OS: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:51:43 +00:00
Michael Drake
4e5e9f1f5a gtk: Update for new hotlist API.
This allows the hotlist backend to work before the hotlist window opens.
2016-12-29 14:49:39 +00:00
Michael Drake
b6be869f19 Hotlist: Allow hotlist initilialisation without hotlist corewindow.
Now, hotlist_init can be called without a corewindow.  This allows the
hotlist backend to be up and running, before any hostlist manager is
opened.  Calling hotlist_manager_init attaches the hotlist to a corewindow.
2016-12-29 14:44:48 +00:00
Michael Drake
ded1979fa1 Treeview: Add API for attaching and detaching from corewindows. 2016-12-29 14:43:38 +00:00
Michael Drake
7750d926ad Treeview: Allow treeview to be created "detached".
This allows treeviews to be constructed before their corewindow.
2016-12-29 14:42:25 +00:00
Michael Drake
93fdbcc6de Treeview: Don't call corewindow callbacks if not attached to a corewindow. 2016-12-29 14:40:54 +00:00
Michael Drake
b93ae2c28f Treeview: Convert to using corewindow callback wrappers. 2016-12-29 14:39:44 +00:00
Michael Drake
fb0cdfed79 Treeview: Add wrappers for corewindow callbacks.
Currently unused.
2016-12-29 14:29:48 +00:00
Vincent Sanders
5f32f9ddd6 Revert "RISC OS: Squash unused variable."
This reverts commit 7aa1dd601e.
2016-12-29 12:56:38 +00:00
Vincent Sanders
e7598fb0b5 fix unexpected opening of windows in riscos
closed windows were re-opened in RISC OS because corewindow updates
failed to take into account their current state when teh core updated
the content size.
2016-12-29 12:54:38 +00:00
Michael Drake
7b7b1507d0 Revert "RISC OS: Ensure core's hotlist_init is called on startup."
This reverts commit 743637a8d2.
2016-12-29 12:21:03 +00:00
Michael Drake
2917af0a96 RISC OS: Squash set but unused variable. 2016-12-29 12:01:48 +00:00
Michael Drake
7aa1dd601e RISC OS: Squash unused variable. 2016-12-29 12:01:29 +00:00
Michael Drake
16b8d524e8 RISC OS: Squash unused variable.
This has been redundant since frames were moved into the core.
The all frames checkbox should be removed from the scale dialogue.
2016-12-29 12:00:03 +00:00