On Thu, 06 Jan 2011 17:49:14 +0200, Bernd Roesch wrote: > Because Reaction is closed source and come many years after MUI for > amiga OS 3.5 and because reaction miss lots > features (at least on 68k) most programs use MUI GUI, because it > offer nicer look and more features as Reaction.
This is irrelevant as far as NetSurf for OS3 is concerned. OS3.9bb2 Reaction supports everything we need (besides some minor tweaks to link the menu and scrollbars). Being a web browser, it's only a few buttons, tabs, a string gadget and a massive chunk of blank space to render into! This also isn't the place for a Reaction vs MUI war. Anyway, since we're here, this is roughly what needs to be modified to get the OS4 frontend to work on OS3.9: * font.c Font code uses the new-style diskfont.library bullet interface. It either needs to be tweaked to be the old one and the BltBitMapTags call avoided (the latter might be more difficult than the former), or changed entirely to use ttfengine.library or freetype2. I have some old code for ttfengine lying around which needs fixing up but did generally work at some point in the past. * plotters P96 needs to be ripped out/avoided if either (a) P96 is not available or (b) a <= 8-bit screenmode is in use. This is further-reaching than the plotters code - the aforementioned font code expects 32-bit and the bitmaps are all in 32-bit too, so dithering and pen allocation needs to be done. (note this is something which needs to be done for OS4 too; currently NetSurf OS4 won't display properly on 8-bit screenmodes) * gui The already-mentioned tweaks to remove new Reaction features (WINDOW_NewMenu needs replacing with CreateMenus/LayoutMenus etc; the vertical scrollbar is attached using a new feature; the horizontal one uses new scrollergclass). * arexx Functions need #ifdef'ing with ASM headers. * utf8.c Needs hardcoding to ISO-8859-1. * misc Littered throughout the code are new calls for allocating memory, resources, interfaces, etc - this all needs backporting. application.library stuff should automagically disable, no_drag_icons will need to default to 1 for OS3 (I think it does anyway). That is, I think, pretty much it. Chris
