summaryrefslogtreecommitdiff
path: root/amiga/libs.c
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2016-04-28 19:18:06 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2016-04-28 19:18:06 +0100
commit180295936b686d194b7b4c25b9a0dc2038ffc4cb (patch)
tree79457e49889bc8d56fa504ab6964596c2d350b34 /amiga/libs.c
parente5a05f1c0e1bb7e7388d4fedb584d8ec71be6628 (diff)
downloadnetsurf-180295936b686d194b7b4c25b9a0dc2038ffc4cb.tar.gz
netsurf-180295936b686d194b7b4c25b9a0dc2038ffc4cb.tar.bz2
Use guigfx.library for 8-bit image quantization
This achieves speed-up on OS3/68k platforms where 8-bit modes are more likely to be used, at the expense of lower quality quantization than the former picture.datatype abuse provided. Additionally, caching of BitMaps in palette-mapped modes is now possible. NetSurf now requires guigfx.library (and render.library) in order to start, even on OS4.
Diffstat (limited to 'amiga/libs.c')
-rw-r--r--amiga/libs.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/amiga/libs.c b/amiga/libs.c
index 7c130a800..2303d35e7 100644
--- a/amiga/libs.c
+++ b/amiga/libs.c
@@ -169,6 +169,8 @@ AMINS_LIB_STRUCT(Locale);
AMINS_LIB_STRUCT(P96);
AMINS_LIB_STRUCT(Workbench);
+AMINS_LIB_STRUCT(GuiGFX);
+
AMINS_CLASS_STRUCT(ARexx);
AMINS_CLASS_STRUCT(Bevel);
AMINS_CLASS_STRUCT(BitMap);
@@ -224,14 +226,16 @@ bool ami_libs_open(void)
if(GfxBase->LibNode.lib_Version < 54)
AMINS_LIB_OPEN("Picasso96API.library", 0, P96, "main", 1, false)
+ /* Non-OS provided libraries */
+ AMINS_LIB_OPEN("guigfx.library", 9, GuiGFX, "main", 1, true)
+
/* NB: timer.device is opened in schedule.c (ultimately by the scheduler process).
* The library base and interface are obtained there, rather than here, due to
* the additional complexities of opening devices, which aren't important here
* (as we only need the library interface), but are important for the scheduler
* (as it also uses the device interface). We trust that the scheduler has
- * initialised before any other code requires the timer's library interface
- * (this is ensured by waiting for the scheduler to start up) and that it is
- * OK to use a child process' timer interface, to avoid opening it twice.
+ * initialised before any other code requires the timer's library interface,
+ * to avoid opening it twice.
*/
/* BOOPSI classes.
@@ -298,6 +302,8 @@ void ami_libs_close(void)
AMINS_CLASS_CLOSE(Window)
/* Libraries */
+ AMINS_LIB_CLOSE(GuiGFX)
+
AMINS_LIB_CLOSE(Asl)
AMINS_LIB_CLOSE(DataTypes)
AMINS_LIB_CLOSE(Diskfont)