diff options
author | Daniel Silverstone <dsilvers@digital-scurf.org> | 2017-02-04 09:41:13 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@digital-scurf.org> | 2017-02-04 09:41:13 +0000 |
commit | e7366bf41f68cfe07e9ea03fc4a398baecbae651 (patch) | |
tree | 5bb9c3cbe7eab7e70ff1ebd65d9de59a694762df /todo/amigaos_frontend.mdwn | |
download | netsurf-wiki-e7366bf41f68cfe07e9ea03fc4a398baecbae651.tar.gz netsurf-wiki-e7366bf41f68cfe07e9ea03fc4a398baecbae651.tar.bz2 |
Initial conversion from MediaWiki, 20170204
Diffstat (limited to 'todo/amigaos_frontend.mdwn')
-rw-r--r-- | todo/amigaos_frontend.mdwn | 175 |
1 files changed, 175 insertions, 0 deletions
diff --git a/todo/amigaos_frontend.mdwn b/todo/amigaos_frontend.mdwn new file mode 100644 index 0000000..8b0c45e --- /dev/null +++ b/todo/amigaos_frontend.mdwn @@ -0,0 +1,175 @@ +[[!meta title="Todo/AmigaOS frontend"]] +[[!meta author="Chris"]] +[[!meta date="2017-01-12T19:51:28Z"]] + + +[[!toc]] + +Plotters +-------- + +- <s>Speed up plotting on 16-bit screenmodes</s> + - Think this is now largely irrelevant as font\_antialiasing:0 + makes a huge difference. However, would like to add + hardware-accelerated anti-aliased text rendering + (CompositeTags() does not support ALPHATEMPLATE so this is not + possible at present - see also the chris/composite-text branch) + +- Direct rendering - problems + - inline image placement + - grey background for all text + - won't work with Cairo renderer + - may crash with certain gfx lib operations (AreaFill - need to + alloc AreaInfo/TmpRas, check if this is ok to do on window + rastports or if one or the other is allocated already) + - completely broken with tiled renderer + - Will probably only leave this in for debugging purposes, has no + real use now. + +- Text + - Replace ligatures? + - Use splay trees for font cache + +- Simple Refresh + - Dragging blocking windows (eg. About) over the top of a render + area does not redraw <i>at all</i> + - Favicon and throbbers do not redraw when damaged (the redraw + functions just crash when they are initiated from the + hook/ami\_handle\_msg) + - Change to \*queue\* redraws same as corewindows + +- bitmap scaling + - not always accurate + - switching to triangle mode is more accurate, but causing + freezing at least on SAM440 with built-in gfx + +User Interface +-------------- + +- Shiny new treeview toolbar +- treeview window redraw needs optimising +- Drag-related + - Support the drag'n'drop of icons from/to OpenAmiga Filer project + - Drag to hotlist from WB? + - Drag selections within text input fields should do a move rather + than a copy (might be core bug?) + - Clicks to become drags only after 5px or so movement (done for + treeviews) + - Text selection should have auto-scroll ability at window's edge + - Dragging text to the URL or search bar should immediately enact + that option +- Iconify gadget - for non-WB screens. Add extra AppIcons functions, + eg Info, Delete. Dynamic updates? +- Allow multiple homepages - see + <http://bugs.netsurf-browser.org/mantis/view.php?id=2270> +- Add play/stop buttons in sound DT handler +- Experiment with label.image in clicktabs (favicon; text in more + appropriate charset) + - More appropriate charset also useful for hotlist menu, toolbar + and history context menu +- Use menuclass for pull-down menu +- Fix passing of commandline options to the core (NSOPTS/M) +- Use new Ringhio progress notifications for downloads (if we can + upload the header) + +Core windows +------------ + +- Share off-screen bitmaps (with browser etc) +- Allow simple refresh windows +- Optimise redraw (on scroll) +- Drag select redraw not working correctly +- Regression: dragging from global history no longer working + +popupmenu deadlock blockers +--------------------------- + +These need doing now a bug in popupmenu.library has been fixed. + +- Context sensitive help + - Add Help key processing in gui\_options.c and anywhere else + needed (local history, treeviews, etc) + - <s>Fix asynchronous close signal thing now but is fixed in + lib</s> - doesn't appear to need any changes, AFAICT I didn't + bother working around this bug + +Misc +---- + +- <s>Switch to malloc/free so OS3 gets full benefit of clib2's slab + allocator</s> + - <s>should have no impact on OS4 perf, but may be worth + abstracting this so we can switch and change easier in future + (unless it makes the debug info from clib2 useless... hmm... + maybe use \#defines)</s> + - when done, enable clib2's debug mem handler: "The settings for + the memory debugging layer can be found in the + "stdlib\_memory.h" header file, right in the first few lines. + Just uncomment the lines for "\_\_MEM\_DEBUG", + "\_\_MEM\_DEBUG\_LOG" and "\_\_USE\_MEM\_TREES" as needed." + - Enable stats collection so we can tune the slab size - see + <https://github.com/adtools/clib2/blob/master/library/include/stdlib.h#L190> +- <s>Reduce signals usage (if possible)</s> - believe this is no + longer an issue +- Replace ExAll() usage in menu.c with whatever the new OS4 equivalent + is +- Font styles in clipboard (might need new chunk defined) +- Revamp About requester +- Add a low memory handler which calls llcache\_clean(true). Need to + somehow guard this as it isn't thread-safe (set a "ok to clean", + "clean in progress" flag which is set/cleared/blocks the GUI?) + - MEM\_TRY\_AGAIN might help, return this until safe to purge, or + until purge can happen in main loop + - <s>Safe to do this to call \_\_free\_unused\_slabs() on OS3</s> +- <s>Ditch libauto</s> + - Hopefully this fixes starting NetSurf on OS4.0 - program is + apparently terminating before it starts running any code. Unable + to test, awaiting feedback from the person who reported + problems. + - See also + <http://www.amiga.org/forums/showpost.php?p=773311&postcount=9> + - Probably doesn't work on OS4.0, as I saw a note that random() + needed a v53 newlib.library when rebuilding the toolchain + +OS3 Support +----------- + +Please see <http://www.amiga.org/forums/showthread.php?t=56813> and +<http://amigaworld.net/modules/newbb/viewtopic.php?topic_id=34237&forum=27> +for various discussion around this topic, as well as +<http://www.amiga.org/forums/showthread.php?t=63990> for more recent +updates. + +NetSurf will now build for OS3. For a quick start on building NetSurf +see [[OS3 build notes|documentation/buildingforamigaos]]. + +There are some outstanding known issues: + +- Fonts + - There seems to be a (lack of) spacing problem with some fonts. + May need to manually add OT\_SpaceWidth? + - Bitmap fonts (with limitations, ie. no UTF-8) support partially + working - line break detection is broken and sometimes causes an + infinite loop. (is this still the case?) + - The font scanner might be broken. + +- Plotters/Bitmaps + - We are currently ignoring the p96 stuff and treating all screens + as palette-mapped. This works but means the faster direct 32-bit + bitmap code is not being used when P96 is available. If we take + the P96 path, bitmaps work but everything else is rendered + unreadable. + - PDTM\_SCALE (used when getting palette mapped bitmaps) only + works on v45, need to use BitMapScale for OS3.5 compatibility. + (this might be fixed since guigfx change?) + +- GUI + - Tabs working but closing them causes NetSurf to crash. + - The status bar is not in the window border (frbuttonclass is + irredeemably broken in OS3) + - A lot of the GUI hasn't tmk been tested. + - The treeview windows eat memory for breakfast (might be better + now using corewindows with tiles and simplerefresh option) + +- Memory freed twice (recoverable alert 010000009) on exit + |