[[!meta title="Todo/AmigaOS frontend"]]
- <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.
- 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
- 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
- Shiny new treeview toolbar
- treeview window redraw needs optimising
- 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
- Text selection should have auto-scroll ability at window's edge
- Dragging text to the URL or search bar should immediately enact
- Iconify gadget - for non-WB screens. Add extra AppIcons functions,
eg Info, Delete. Dynamic updates?
- Allow multiple homepages - see
- Add play/stop buttons in sound DT handler
- Experiment with label.image in clicktabs (favicon; text in more
- 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)
- 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
- <s>Switch to malloc/free so OS3 gets full benefit of clib2's slab
- <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
- <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
- 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
- See also
- Probably doesn't work on OS4.0, as I saw a note that random()
needed a v53 newlib.library when rebuilding the toolchain
Please see <http://www.amiga.org/forums/showthread.php?t=56813> and
for various discussion around this topic, as well as
<http://www.amiga.org/forums/showthread.php?t=63990> for more recent
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:
- 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.
- 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
- 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?)
- 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