Gitweb links:
...log
http://git.netsurf-browser.org/netsurf.git/shortlog/2dab078f21db7dec5a29079daf9a5f0a06a6e0bd
...commit
http://git.netsurf-browser.org/netsurf.git/commit/2dab078f21db7dec5a29079daf9a5f0a06a6e0bd
...tree
http://git.netsurf-browser.org/netsurf.git/tree/2dab078f21db7dec5a29079daf9a5f0a06a6e0bd
The branch, master has been updated
via 2dab078f21db7dec5a29079daf9a5f0a06a6e0bd (commit)
from 6722943b81c0dba84ed187b2d117cc92972117ed (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commitdiff
http://git.netsurf-browser.org/netsurf.git/commit/?id=2dab078f21db7dec5a29079daf9a5f0a06a6e0bd
commit 2dab078f21db7dec5a29079daf9a5f0a06a6e0bd
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>
move bitmap API header to core include directory
diff --git a/content/content.c b/content/content.c
index 9b53a49..ad130a5 100644
--- a/content/content.c
+++ b/content/content.c
@@ -33,7 +33,7 @@
#include "desktop/gui_internal.h"
#include "desktop/browser.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content_protected.h"
#include "content/content_debug.h"
#include "content/hlcache.h"
diff --git a/content/handlers/image/bitmap.h b/content/handlers/image/bitmap.h
deleted file mode 100644
index ef6c1b4..0000000
--- a/content/handlers/image/bitmap.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright 2004 James Bursa <[email protected]>
- *
- * This file is part of NetSurf, http://www.netsurf-browser.org/
- *
- * NetSurf is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * NetSurf is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-/**
- * \file
- * Generic bitmap handling interface.
- *
- * This interface wraps the native platform-specific image format, so that
- * portable image convertors can be written.
- *
- * Bitmaps are required to be 32bpp with components in the order RR GG BB AA.
- *
- * For example, an opaque 1x1 pixel image would yield the following bitmap
- * data:
- *
- * > Red : 0xff 0x00 0x00 0x00
- * > Green: 0x00 0xff 0x00 0x00
- * > Blue : 0x00 0x00 0xff 0x00
- *
- * Any attempt to read pixels by casting bitmap data to uint32_t or similar
- * will need to cater for the order of bytes in a word being different on
- * big and little endian systems. To avoid confusion, it is recommended
- * that pixel data is loaded as follows:
- *
- * uint32_t read_pixel(const uint8_t *bmp)
- * {
- * // red green blue alpha
- * return bmp[0] | (bmp[1] << 8) | (bmp[2] << 16) | (bmp[3] << 24);
- * }
- *
- * and *not* as follows:
- *
- * uint32_t read_pixel(const uint8_t *bmp)
- * {
- * return *((uint32_t *) bmp);
- * }
- */
-
-#ifndef _NETSURF_IMAGE_BITMAP_H_
-#define _NETSURF_IMAGE_BITMAP_H_
-
-#define BITMAP_NEW 0
-#define BITMAP_OPAQUE (1 << 0) /**< image is opaque */
-#define BITMAP_MODIFIED (1 << 1) /**< buffer has been modified
*/
-#define BITMAP_CLEAR_MEMORY (1 << 2) /**< memory should be wiped */
-
-struct content;
-struct bitmap;
-struct hlcache_handle;
-
-/**
- * Bitmap operations.
- */
-struct gui_bitmap_table {
- /* Mandantory entries */
-
- /**
- * Create a new bitmap.
- *
- * \param width width of image in pixels
- * \param height width of image in pixels
- * \param state The state to create the bitmap in.
- * \return A bitmap structure or NULL on error.
- */
- void *(*create)(int width, int height, unsigned int state);
-
- /**
- * Destroy a bitmap.
- *
- * \param bitmap The bitmap to destroy.
- */
- void (*destroy)(void *bitmap);
-
- /**
- * Set the opacity of a bitmap.
- *
- * \param bitmap The bitmap to set opacity on.
- * \param opaque The bitmap opacity to set.
- */
- void (*set_opaque)(void *bitmap, bool opaque);
-
- /**
- * Get the opacity of a bitmap.
- *
- * \param bitmap The bitmap to examine.
- * \return The bitmap opacity.
- */
- bool (*get_opaque)(void *bitmap);
-
- /**
- * Test if a bitmap is opaque.
- *
- * \param bitmap The bitmap to examine.
- * \return The bitmap opacity.
- */
- bool (*test_opaque)(void *bitmap);
-
- /**
- * Get the image buffer from a bitmap
- *
- * \param bitmap The bitmap to get the buffer from.
- * \return The image buffer or NULL if there is none.
- */
- unsigned char *(*get_buffer)(void *bitmap);
-
- /**
- * Get the number of bytes per row of the image
- *
- * \param bitmap The bitmap
- * \return The number of bytes for a row of the bitmap.
- */
- size_t (*get_rowstride)(void *bitmap);
-
- /**
- * Get the bitmap width
- *
- * \param bitmap The bitmap
- * \return The bitmap width in pixels.
- */
- int (*get_width)(void *bitmap);
-
- /**
- * Get the bitmap height
- *
- * \param bitmap The bitmap
- * \return The bitmap height in pixels.
- */
- int (*get_height)(void *bitmap);
-
- /**
- * The the *bytes* per pixel.
- *
- * \param bitmap The bitmap
- */
- size_t (*get_bpp)(void *bitmap);
-
- /**
- * Savde a bitmap to disc.
- *
- * \param bitmap The bitmap to save
- * \param path The path to save the bitmap to.
- * \param flags Flags affectin the save.
- */
- bool (*save)(void *bitmap, const char *path, unsigned flags);
-
- /**
- * Marks a bitmap as modified.
- *
- * \param bitmap The bitmap set as modified.
- */
- void (*modified)(void *bitmap);
-
- /**
- * Render content into a bitmap.
- *
- * \param bitmap The bitmap to render into.
- * \param content The content to render.
- */
- nserror (*render)(struct bitmap *bitmap, struct hlcache_handle
*content);
-};
-
-#endif
diff --git a/content/handlers/image/bmp.c b/content/handlers/image/bmp.c
index f622f6c..e108b48 100644
--- a/content/handlers/image/bmp.c
+++ b/content/handlers/image/bmp.c
@@ -31,8 +31,8 @@
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
#include "desktop/plotters.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "bmp.h"
/** bmp context. */
diff --git a/content/handlers/image/gif.c b/content/handlers/image/gif.c
index d8d968e..1167266 100644
--- a/content/handlers/image/gif.c
+++ b/content/handlers/image/gif.c
@@ -42,9 +42,9 @@
#include "content/content_protected.h"
#include "desktop/gui_misc.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image.h"
-#include "bitmap.h"
#include "gif.h"
typedef struct nsgif_content {
diff --git a/content/handlers/image/ico.c b/content/handlers/image/ico.c
index d364fdf..5ea29bf 100644
--- a/content/handlers/image/ico.c
+++ b/content/handlers/image/ico.c
@@ -29,9 +29,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image.h"
-#include "bitmap.h"
#include "ico.h"
typedef struct nsico_content {
diff --git a/content/handlers/image/image.c b/content/handlers/image/image.c
index d174369..487b35b 100644
--- a/content/handlers/image/image.c
+++ b/content/handlers/image/image.c
@@ -25,8 +25,8 @@
#include "content/content.h"
#include "desktop/plotters.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "bmp.h"
#include "gif.h"
#include "ico.h"
diff --git a/content/handlers/image/image_cache.c
b/content/handlers/image/image_cache.c
index 49370ad..52b3b34 100644
--- a/content/handlers/image/image_cache.c
+++ b/content/handlers/image/image_cache.c
@@ -28,8 +28,8 @@
#include "content/content_protected.h"
#include "desktop/gui_misc.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "image_cache.h"
#include "image.h"
diff --git a/content/handlers/image/jpeg.c b/content/handlers/image/jpeg.c
index b5eade3..179b8fc 100644
--- a/content/handlers/image/jpeg.c
+++ b/content/handlers/image/jpeg.c
@@ -32,9 +32,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image_cache.h"
-#include "bitmap.h"
#define JPEG_INTERNAL_OPTIONS
#include "jpeglib.h"
diff --git a/content/handlers/image/nssprite.c
b/content/handlers/image/nssprite.c
index fd651e0..082bf9e 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -31,8 +31,8 @@
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
#include "desktop/plotters.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "nssprite.h"
typedef struct nssprite_content {
diff --git a/content/handlers/image/png.c b/content/handlers/image/png.c
index 4f6f17d..04083d8 100644
--- a/content/handlers/image/png.c
+++ b/content/handlers/image/png.c
@@ -27,9 +27,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image_cache.h"
-#include "bitmap.h"
#include "png.h"
/* accommodate for old versions of libpng (beware security holes!) */
diff --git a/content/handlers/image/rsvg.c b/content/handlers/image/rsvg.c
index bd77368..dce1ea9 100644
--- a/content/handlers/image/rsvg.c
+++ b/content/handlers/image/rsvg.c
@@ -44,8 +44,8 @@
#include "content/content_protected.h"
#include "desktop/plotters.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "rsvg.h"
typedef struct rsvg_content {
diff --git a/content/urldb.c b/content/urldb.c
index b11ec98..5230438 100644
--- a/content/urldb.c
+++ b/content/urldb.c
@@ -104,7 +104,7 @@
#include "utils/utils.h"
#include "utils/bloom.h"
#include "utils/time.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/cookie_manager.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/browser_history.c b/desktop/browser_history.c
index b3d12d5..871cc3e 100644
--- a/desktop/browser_history.c
+++ b/desktop/browser_history.c
@@ -34,7 +34,7 @@
#include "content/content.h"
#include "content/hlcache.h"
#include "content/urldb.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/gui_layout.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index f43e1c9..07848ee 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -23,7 +23,7 @@
#include "utils/config.h"
#include "utils/errors.h"
#include "utils/file.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/hlcache.h"
#include "content/backing_store.h"
diff --git a/desktop/knockout.c b/desktop/knockout.c
index 22aac86..a20ec28 100644
--- a/desktop/knockout.c
+++ b/desktop/knockout.c
@@ -69,7 +69,7 @@
#include "utils/utils.h"
#include "utils/log.h"
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/save_pdf.c b/desktop/save_pdf.c
index 40082f2..0c870b4 100644
--- a/desktop/save_pdf.c
+++ b/desktop/save_pdf.c
@@ -60,7 +60,7 @@
#include "utils/useragent.h"
#include "content/hlcache.h"
#include "utils/nsoption.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "desktop/print.h"
diff --git a/desktop/treeview.c b/desktop/treeview.c
index c12ecd9..ec2a513 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -23,7 +23,7 @@
*/
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/hlcache.h"
#include "content/handlers/css/utils.h"
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 62a5fdf..cf342d8 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -50,7 +50,7 @@
#include "content/hlcache.h"
#include "desktop/mouse.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "amiga/gui.h"
#include "amiga/bitmap.h"
diff --git a/frontends/amiga/dt_anim.c b/frontends/amiga/dt_anim.c
index 8246099..fec7076 100644
--- a/frontends/amiga/dt_anim.c
+++ b/frontends/amiga/dt_anim.c
@@ -39,7 +39,7 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "amiga/bitmap.h"
#include "amiga/filetype.h"
diff --git a/frontends/amiga/dt_picture.c b/frontends/amiga/dt_picture.c
index 6d7d5aa..aba0893 100644
--- a/frontends/amiga/dt_picture.c
+++ b/frontends/amiga/dt_picture.c
@@ -35,7 +35,7 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/handlers/image/image_cache.h"
#include "amiga/bitmap.h"
diff --git a/frontends/amiga/icon.c b/frontends/amiga/icon.c
index 8163612..819879d 100644
--- a/frontends/amiga/icon.c
+++ b/frontends/amiga/icon.c
@@ -42,7 +42,7 @@
#include "utils/utils.h"
#include "utils/file.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content_protected.h"
#include "amiga/os3support.h"
diff --git a/frontends/atari/bitmap.c b/frontends/atari/bitmap.c
index 680fe97..35886c0 100644
--- a/frontends/atari/bitmap.c
+++ b/frontends/atari/bitmap.c
@@ -24,7 +24,7 @@
#include "utils/nsoption.h"
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/mouse.h"
#include "atari/bitmap.h"
diff --git a/frontends/atari/plot/plot.c b/frontends/atari/plot/plot.c
index 4f4d08c..f96039d 100644
--- a/frontends/atari/plot/plot.c
+++ b/frontends/atari/plot/plot.c
@@ -29,7 +29,7 @@
#include "utils/log.h"
#include "utils/utf8.h"
#include "utils/utils.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "desktop/mouse.h"
diff --git a/frontends/beos/bitmap.cpp b/frontends/beos/bitmap.cpp
index 7adaae7..c9c786a 100644
--- a/frontends/beos/bitmap.cpp
+++ b/frontends/beos/bitmap.cpp
@@ -42,7 +42,7 @@ extern "C" {
#include "content/urldb.h"
#include "desktop/plotters.h"
#include "desktop/browser.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
}
#include "beos/bitmap.h"
diff --git a/frontends/cocoa/apple_image.m b/frontends/cocoa/apple_image.m
index 4f8deeb..896cf4c 100644
--- a/frontends/cocoa/apple_image.m
+++ b/frontends/cocoa/apple_image.m
@@ -22,7 +22,7 @@
#include "utils/config.h"
#include "content/content_protected.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "utils/utils.h"
diff --git a/frontends/cocoa/bitmap.m b/frontends/cocoa/bitmap.m
index 5905eeb..14394d0 100644
--- a/frontends/cocoa/bitmap.m
+++ b/frontends/cocoa/bitmap.m
@@ -25,7 +25,7 @@
#import "desktop/browser.h"
#import "desktop/plotters.h"
-#import "content/handlers/image/bitmap.h"
+#import "netsurf/bitmap.h"
#import "content/urldb.h"
#import "content/content.h"
diff --git a/frontends/framebuffer/bitmap.c b/frontends/framebuffer/bitmap.c
index 925b6fe..df99e71 100644
--- a/frontends/framebuffer/bitmap.c
+++ b/frontends/framebuffer/bitmap.c
@@ -30,7 +30,7 @@
#include "utils/log.h"
#include "utils/utils.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "content/content.h"
diff --git a/frontends/framebuffer/framebuffer.c
b/frontends/framebuffer/framebuffer.c
index bd94403..16e9dd7 100644
--- a/frontends/framebuffer/framebuffer.c
+++ b/frontends/framebuffer/framebuffer.c
@@ -33,7 +33,7 @@
#include "utils/utf8.h"
#include "desktop/browser.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "framebuffer/gui.h"
#include "framebuffer/fbtk.h"
diff --git a/frontends/gtk/bitmap.c b/frontends/gtk/bitmap.c
index 08dee61..ff5a0c4 100644
--- a/frontends/gtk/bitmap.c
+++ b/frontends/gtk/bitmap.c
@@ -33,7 +33,7 @@
#include "utils/utils.h"
#include "utils/log.h"
#include "content/content.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "gtk/scaffolding.h"
diff --git a/frontends/monkey/bitmap.c b/frontends/monkey/bitmap.c
index daf90b4..3313e11 100644
--- a/frontends/monkey/bitmap.c
+++ b/frontends/monkey/bitmap.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "monkey/bitmap.h"
diff --git a/frontends/riscos/bitmap.c b/frontends/riscos/bitmap.c
index b56000f..525a230 100644
--- a/frontends/riscos/bitmap.c
+++ b/frontends/riscos/bitmap.c
@@ -45,7 +45,7 @@
#include "utils/messages.h"
#include "desktop/plotters.h"
#include "content/content.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "riscos/gui.h"
#include "riscos/image.h"
diff --git a/frontends/riscos/save.c b/frontends/riscos/save.c
index 468ede6..0432b1a 100644
--- a/frontends/riscos/save.c
+++ b/frontends/riscos/save.c
@@ -49,7 +49,7 @@
#include "desktop/save_complete.h"
#include "desktop/save_text.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "render/form.h"
#include "riscos/bitmap.h"
diff --git a/frontends/riscos/window.c b/frontends/riscos/window.c
index ff89027..b6d074f 100644
--- a/frontends/riscos/window.c
+++ b/frontends/riscos/window.c
@@ -65,7 +65,7 @@
#include "desktop/textinput.h"
#include "desktop/tree.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "render/form.h"
#include "riscos/bitmap.h"
diff --git a/frontends/windows/bitmap.c b/frontends/windows/bitmap.c
index 1a78561..a50d9aa 100644
--- a/frontends/windows/bitmap.c
+++ b/frontends/windows/bitmap.c
@@ -30,7 +30,7 @@
#include <windows.h>
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "content/content.h"
diff --git a/include/netsurf/bitmap.h b/include/netsurf/bitmap.h
new file mode 100644
index 0000000..e54bdff
--- /dev/null
+++ b/include/netsurf/bitmap.h
@@ -0,0 +1,177 @@
+/*
+ * Copyright 2004 James Bursa <[email protected]>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+/**
+ * \file
+ * Generic bitmap handling interface.
+ *
+ * This interface wraps the native platform-specific image format, so that
+ * portable image convertors can be written.
+ *
+ * Bitmaps are required to be 32bpp with components in the order RR GG BB AA.
+ *
+ * For example, an opaque 1x1 pixel image would yield the following bitmap
+ * data:
+ *
+ * > Red : 0xff 0x00 0x00 0x00
+ * > Green: 0x00 0xff 0x00 0x00
+ * > Blue : 0x00 0x00 0xff 0x00
+ *
+ * Any attempt to read pixels by casting bitmap data to uint32_t or similar
+ * will need to cater for the order of bytes in a word being different on
+ * big and little endian systems. To avoid confusion, it is recommended
+ * that pixel data is loaded as follows:
+ *
+ * uint32_t read_pixel(const uint8_t *bmp)
+ * {
+ * // red green blue alpha
+ * return bmp[0] | (bmp[1] << 8) | (bmp[2] << 16) | (bmp[3] << 24);
+ * }
+ *
+ * and *not* as follows:
+ *
+ * uint32_t read_pixel(const uint8_t *bmp)
+ * {
+ * return *((uint32_t *) bmp);
+ * }
+ */
+
+#ifndef _NETSURF_BITMAP_H_
+#define _NETSURF_BITMAP_H_
+
+#define BITMAP_NEW 0
+#define BITMAP_OPAQUE (1 << 0) /**< image is opaque */
+#define BITMAP_MODIFIED (1 << 1) /**< buffer has been modified
*/
+#define BITMAP_CLEAR_MEMORY (1 << 2) /**< memory should be wiped */
+
+struct content;
+struct bitmap;
+struct hlcache_handle;
+
+/**
+ * Bitmap operations.
+ */
+struct gui_bitmap_table {
+ /* Mandantory entries */
+
+ /**
+ * Create a new bitmap.
+ *
+ * \param width width of image in pixels
+ * \param height width of image in pixels
+ * \param state The state to create the bitmap in.
+ * \return A bitmap structure or NULL on error.
+ */
+ void *(*create)(int width, int height, unsigned int state);
+
+ /**
+ * Destroy a bitmap.
+ *
+ * \param bitmap The bitmap to destroy.
+ */
+ void (*destroy)(void *bitmap);
+
+ /**
+ * Set the opacity of a bitmap.
+ *
+ * \param bitmap The bitmap to set opacity on.
+ * \param opaque The bitmap opacity to set.
+ */
+ void (*set_opaque)(void *bitmap, bool opaque);
+
+ /**
+ * Get the opacity of a bitmap.
+ *
+ * \param bitmap The bitmap to examine.
+ * \return The bitmap opacity.
+ */
+ bool (*get_opaque)(void *bitmap);
+
+ /**
+ * Test if a bitmap is opaque.
+ *
+ * \param bitmap The bitmap to examine.
+ * \return The bitmap opacity.
+ */
+ bool (*test_opaque)(void *bitmap);
+
+ /**
+ * Get the image buffer from a bitmap
+ *
+ * \param bitmap The bitmap to get the buffer from.
+ * \return The image buffer or NULL if there is none.
+ */
+ unsigned char *(*get_buffer)(void *bitmap);
+
+ /**
+ * Get the number of bytes per row of the image
+ *
+ * \param bitmap The bitmap
+ * \return The number of bytes for a row of the bitmap.
+ */
+ size_t (*get_rowstride)(void *bitmap);
+
+ /**
+ * Get the bitmap width
+ *
+ * \param bitmap The bitmap
+ * \return The bitmap width in pixels.
+ */
+ int (*get_width)(void *bitmap);
+
+ /**
+ * Get the bitmap height
+ *
+ * \param bitmap The bitmap
+ * \return The bitmap height in pixels.
+ */
+ int (*get_height)(void *bitmap);
+
+ /**
+ * The the *bytes* per pixel.
+ *
+ * \param bitmap The bitmap
+ */
+ size_t (*get_bpp)(void *bitmap);
+
+ /**
+ * Savde a bitmap to disc.
+ *
+ * \param bitmap The bitmap to save
+ * \param path The path to save the bitmap to.
+ * \param flags Flags affectin the save.
+ */
+ bool (*save)(void *bitmap, const char *path, unsigned flags);
+
+ /**
+ * Marks a bitmap as modified.
+ *
+ * \param bitmap The bitmap set as modified.
+ */
+ void (*modified)(void *bitmap);
+
+ /**
+ * Render content into a bitmap.
+ *
+ * \param bitmap The bitmap to render into.
+ * \param content The content to render.
+ */
+ nserror (*render)(struct bitmap *bitmap, struct hlcache_handle
*content);
+};
+
+#endif
diff --git a/render/html.c b/render/html.c
index ecbd99c..5090b6f 100644
--- a/render/html.c
+++ b/render/html.c
@@ -46,7 +46,7 @@
#include "desktop/selection.h"
#include "desktop/scrollbar.h"
#include "desktop/textarea.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "javascript/js.h"
#include "desktop/browser.h"
#include "desktop/gui_utf8.h"
diff --git a/render/html_redraw.c b/render/html_redraw.c
index 7f8391c..cf4bd6f 100644
--- a/render/html_redraw.c
+++ b/render/html_redraw.c
@@ -48,7 +48,7 @@
#include "desktop/print.h"
#include "desktop/scrollbar.h"
#include "desktop/textarea.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/gui_layout.h"
#include "desktop/gui_internal.h"
diff --git a/test/urldbtest.c b/test/urldbtest.c
index efe33be..820dc6b 100644
--- a/test/urldbtest.c
+++ b/test/urldbtest.c
@@ -30,7 +30,7 @@
#include <curl/curl.h>
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content.h"
#include "content/urldb.h"
#include "desktop/cookie_manager.h"
-----------------------------------------------------------------------
Summary of changes:
content/content.c | 2 +-
content/handlers/image/bmp.c | 2 +-
content/handlers/image/gif.c | 2 +-
content/handlers/image/ico.c | 2 +-
content/handlers/image/image.c | 2 +-
content/handlers/image/image_cache.c | 2 +-
content/handlers/image/jpeg.c | 2 +-
content/handlers/image/nssprite.c | 2 +-
content/handlers/image/png.c | 2 +-
content/handlers/image/rsvg.c | 2 +-
content/urldb.c | 2 +-
desktop/browser_history.c | 2 +-
desktop/gui_factory.c | 2 +-
desktop/knockout.c | 2 +-
desktop/save_pdf.c | 2 +-
desktop/treeview.c | 2 +-
frontends/amiga/bitmap.c | 2 +-
frontends/amiga/dt_anim.c | 2 +-
frontends/amiga/dt_picture.c | 2 +-
frontends/amiga/icon.c | 2 +-
frontends/atari/bitmap.c | 2 +-
frontends/atari/plot/plot.c | 2 +-
frontends/beos/bitmap.cpp | 2 +-
frontends/cocoa/apple_image.m | 2 +-
frontends/cocoa/bitmap.m | 2 +-
frontends/framebuffer/bitmap.c | 2 +-
frontends/framebuffer/framebuffer.c | 2 +-
frontends/gtk/bitmap.c | 2 +-
frontends/monkey/bitmap.c | 2 +-
frontends/riscos/bitmap.c | 2 +-
frontends/riscos/save.c | 2 +-
frontends/riscos/window.c | 2 +-
frontends/windows/bitmap.c | 2 +-
{content/handlers/image => include/netsurf}/bitmap.h | 4 ++--
render/html.c | 2 +-
render/html_redraw.c | 2 +-
test/urldbtest.c | 2 +-
37 files changed, 38 insertions(+), 38 deletions(-)
rename {content/handlers/image => include/netsurf}/bitmap.h (98%)
diff --git a/content/content.c b/content/content.c
index 9b53a49..ad130a5 100644
--- a/content/content.c
+++ b/content/content.c
@@ -33,7 +33,7 @@
#include "desktop/gui_internal.h"
#include "desktop/browser.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content_protected.h"
#include "content/content_debug.h"
#include "content/hlcache.h"
diff --git a/content/handlers/image/bmp.c b/content/handlers/image/bmp.c
index f622f6c..e108b48 100644
--- a/content/handlers/image/bmp.c
+++ b/content/handlers/image/bmp.c
@@ -31,8 +31,8 @@
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
#include "desktop/plotters.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "bmp.h"
/** bmp context. */
diff --git a/content/handlers/image/gif.c b/content/handlers/image/gif.c
index d8d968e..1167266 100644
--- a/content/handlers/image/gif.c
+++ b/content/handlers/image/gif.c
@@ -42,9 +42,9 @@
#include "content/content_protected.h"
#include "desktop/gui_misc.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image.h"
-#include "bitmap.h"
#include "gif.h"
typedef struct nsgif_content {
diff --git a/content/handlers/image/ico.c b/content/handlers/image/ico.c
index d364fdf..5ea29bf 100644
--- a/content/handlers/image/ico.c
+++ b/content/handlers/image/ico.c
@@ -29,9 +29,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image.h"
-#include "bitmap.h"
#include "ico.h"
typedef struct nsico_content {
diff --git a/content/handlers/image/image.c b/content/handlers/image/image.c
index d174369..487b35b 100644
--- a/content/handlers/image/image.c
+++ b/content/handlers/image/image.c
@@ -25,8 +25,8 @@
#include "content/content.h"
#include "desktop/plotters.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "bmp.h"
#include "gif.h"
#include "ico.h"
diff --git a/content/handlers/image/image_cache.c
b/content/handlers/image/image_cache.c
index 49370ad..52b3b34 100644
--- a/content/handlers/image/image_cache.c
+++ b/content/handlers/image/image_cache.c
@@ -28,8 +28,8 @@
#include "content/content_protected.h"
#include "desktop/gui_misc.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "image_cache.h"
#include "image.h"
diff --git a/content/handlers/image/jpeg.c b/content/handlers/image/jpeg.c
index b5eade3..179b8fc 100644
--- a/content/handlers/image/jpeg.c
+++ b/content/handlers/image/jpeg.c
@@ -32,9 +32,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image_cache.h"
-#include "bitmap.h"
#define JPEG_INTERNAL_OPTIONS
#include "jpeglib.h"
diff --git a/content/handlers/image/nssprite.c
b/content/handlers/image/nssprite.c
index fd651e0..082bf9e 100644
--- a/content/handlers/image/nssprite.c
+++ b/content/handlers/image/nssprite.c
@@ -31,8 +31,8 @@
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
#include "desktop/plotters.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "nssprite.h"
typedef struct nssprite_content {
diff --git a/content/handlers/image/png.c b/content/handlers/image/png.c
index 4f6f17d..04083d8 100644
--- a/content/handlers/image/png.c
+++ b/content/handlers/image/png.c
@@ -27,9 +27,9 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
#include "image_cache.h"
-#include "bitmap.h"
#include "png.h"
/* accommodate for old versions of libpng (beware security holes!) */
diff --git a/content/handlers/image/rsvg.c b/content/handlers/image/rsvg.c
index bd77368..dce1ea9 100644
--- a/content/handlers/image/rsvg.c
+++ b/content/handlers/image/rsvg.c
@@ -44,8 +44,8 @@
#include "content/content_protected.h"
#include "desktop/plotters.h"
#include "desktop/gui_internal.h"
+#include "netsurf/bitmap.h"
-#include "bitmap.h"
#include "rsvg.h"
typedef struct rsvg_content {
diff --git a/content/urldb.c b/content/urldb.c
index b11ec98..5230438 100644
--- a/content/urldb.c
+++ b/content/urldb.c
@@ -104,7 +104,7 @@
#include "utils/utils.h"
#include "utils/bloom.h"
#include "utils/time.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/cookie_manager.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/browser_history.c b/desktop/browser_history.c
index b3d12d5..871cc3e 100644
--- a/desktop/browser_history.c
+++ b/desktop/browser_history.c
@@ -34,7 +34,7 @@
#include "content/content.h"
#include "content/hlcache.h"
#include "content/urldb.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/gui_layout.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c
index f43e1c9..07848ee 100644
--- a/desktop/gui_factory.c
+++ b/desktop/gui_factory.c
@@ -23,7 +23,7 @@
#include "utils/config.h"
#include "utils/errors.h"
#include "utils/file.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/hlcache.h"
#include "content/backing_store.h"
diff --git a/desktop/knockout.c b/desktop/knockout.c
index 22aac86..a20ec28 100644
--- a/desktop/knockout.c
+++ b/desktop/knockout.c
@@ -69,7 +69,7 @@
#include "utils/utils.h"
#include "utils/log.h"
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content.h"
#include "desktop/gui_internal.h"
diff --git a/desktop/save_pdf.c b/desktop/save_pdf.c
index 40082f2..0c870b4 100644
--- a/desktop/save_pdf.c
+++ b/desktop/save_pdf.c
@@ -60,7 +60,7 @@
#include "utils/useragent.h"
#include "content/hlcache.h"
#include "utils/nsoption.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "desktop/print.h"
diff --git a/desktop/treeview.c b/desktop/treeview.c
index c12ecd9..ec2a513 100644
--- a/desktop/treeview.c
+++ b/desktop/treeview.c
@@ -23,7 +23,7 @@
*/
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/hlcache.h"
#include "content/handlers/css/utils.h"
diff --git a/frontends/amiga/bitmap.c b/frontends/amiga/bitmap.c
index 62a5fdf..cf342d8 100644
--- a/frontends/amiga/bitmap.c
+++ b/frontends/amiga/bitmap.c
@@ -50,7 +50,7 @@
#include "content/hlcache.h"
#include "desktop/mouse.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "amiga/gui.h"
#include "amiga/bitmap.h"
diff --git a/frontends/amiga/dt_anim.c b/frontends/amiga/dt_anim.c
index 8246099..fec7076 100644
--- a/frontends/amiga/dt_anim.c
+++ b/frontends/amiga/dt_anim.c
@@ -39,7 +39,7 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "amiga/bitmap.h"
#include "amiga/filetype.h"
diff --git a/frontends/amiga/dt_picture.c b/frontends/amiga/dt_picture.c
index 6d7d5aa..aba0893 100644
--- a/frontends/amiga/dt_picture.c
+++ b/frontends/amiga/dt_picture.c
@@ -35,7 +35,7 @@
#include "utils/messages.h"
#include "content/content_protected.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/handlers/image/image_cache.h"
#include "amiga/bitmap.h"
diff --git a/frontends/amiga/icon.c b/frontends/amiga/icon.c
index 8163612..819879d 100644
--- a/frontends/amiga/icon.c
+++ b/frontends/amiga/icon.c
@@ -42,7 +42,7 @@
#include "utils/utils.h"
#include "utils/file.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content_protected.h"
#include "amiga/os3support.h"
diff --git a/frontends/atari/bitmap.c b/frontends/atari/bitmap.c
index 680fe97..35886c0 100644
--- a/frontends/atari/bitmap.c
+++ b/frontends/atari/bitmap.c
@@ -24,7 +24,7 @@
#include "utils/nsoption.h"
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/mouse.h"
#include "atari/bitmap.h"
diff --git a/frontends/atari/plot/plot.c b/frontends/atari/plot/plot.c
index 4f4d08c..f96039d 100644
--- a/frontends/atari/plot/plot.c
+++ b/frontends/atari/plot/plot.c
@@ -29,7 +29,7 @@
#include "utils/log.h"
#include "utils/utf8.h"
#include "utils/utils.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "desktop/mouse.h"
diff --git a/frontends/beos/bitmap.cpp b/frontends/beos/bitmap.cpp
index 7adaae7..c9c786a 100644
--- a/frontends/beos/bitmap.cpp
+++ b/frontends/beos/bitmap.cpp
@@ -42,7 +42,7 @@ extern "C" {
#include "content/urldb.h"
#include "desktop/plotters.h"
#include "desktop/browser.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
}
#include "beos/bitmap.h"
diff --git a/frontends/cocoa/apple_image.m b/frontends/cocoa/apple_image.m
index 4f8deeb..896cf4c 100644
--- a/frontends/cocoa/apple_image.m
+++ b/frontends/cocoa/apple_image.m
@@ -22,7 +22,7 @@
#include "utils/config.h"
#include "content/content_protected.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "utils/utils.h"
diff --git a/frontends/cocoa/bitmap.m b/frontends/cocoa/bitmap.m
index 5905eeb..14394d0 100644
--- a/frontends/cocoa/bitmap.m
+++ b/frontends/cocoa/bitmap.m
@@ -25,7 +25,7 @@
#import "desktop/browser.h"
#import "desktop/plotters.h"
-#import "content/handlers/image/bitmap.h"
+#import "netsurf/bitmap.h"
#import "content/urldb.h"
#import "content/content.h"
diff --git a/frontends/framebuffer/bitmap.c b/frontends/framebuffer/bitmap.c
index 925b6fe..df99e71 100644
--- a/frontends/framebuffer/bitmap.c
+++ b/frontends/framebuffer/bitmap.c
@@ -30,7 +30,7 @@
#include "utils/log.h"
#include "utils/utils.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "content/content.h"
diff --git a/frontends/framebuffer/framebuffer.c
b/frontends/framebuffer/framebuffer.c
index bd94403..16e9dd7 100644
--- a/frontends/framebuffer/framebuffer.c
+++ b/frontends/framebuffer/framebuffer.c
@@ -33,7 +33,7 @@
#include "utils/utf8.h"
#include "desktop/browser.h"
#include "desktop/plotters.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "framebuffer/gui.h"
#include "framebuffer/fbtk.h"
diff --git a/frontends/gtk/bitmap.c b/frontends/gtk/bitmap.c
index 08dee61..ff5a0c4 100644
--- a/frontends/gtk/bitmap.c
+++ b/frontends/gtk/bitmap.c
@@ -33,7 +33,7 @@
#include "utils/utils.h"
#include "utils/log.h"
#include "content/content.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "gtk/scaffolding.h"
diff --git a/frontends/monkey/bitmap.c b/frontends/monkey/bitmap.c
index daf90b4..3313e11 100644
--- a/frontends/monkey/bitmap.c
+++ b/frontends/monkey/bitmap.c
@@ -21,7 +21,7 @@
#include <stdlib.h>
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "monkey/bitmap.h"
diff --git a/frontends/riscos/bitmap.c b/frontends/riscos/bitmap.c
index b56000f..525a230 100644
--- a/frontends/riscos/bitmap.c
+++ b/frontends/riscos/bitmap.c
@@ -45,7 +45,7 @@
#include "utils/messages.h"
#include "desktop/plotters.h"
#include "content/content.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "riscos/gui.h"
#include "riscos/image.h"
diff --git a/frontends/riscos/save.c b/frontends/riscos/save.c
index 468ede6..0432b1a 100644
--- a/frontends/riscos/save.c
+++ b/frontends/riscos/save.c
@@ -49,7 +49,7 @@
#include "desktop/save_complete.h"
#include "desktop/save_text.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "render/form.h"
#include "riscos/bitmap.h"
diff --git a/frontends/riscos/window.c b/frontends/riscos/window.c
index ff89027..b6d074f 100644
--- a/frontends/riscos/window.c
+++ b/frontends/riscos/window.c
@@ -65,7 +65,7 @@
#include "desktop/textinput.h"
#include "desktop/tree.h"
#include "desktop/gui_window.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "render/form.h"
#include "riscos/bitmap.h"
diff --git a/frontends/windows/bitmap.c b/frontends/windows/bitmap.c
index 1a78561..a50d9aa 100644
--- a/frontends/windows/bitmap.c
+++ b/frontends/windows/bitmap.c
@@ -30,7 +30,7 @@
#include <windows.h>
#include "utils/log.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/plotters.h"
#include "content/content.h"
diff --git a/content/handlers/image/bitmap.h b/include/netsurf/bitmap.h
similarity index 98%
rename from content/handlers/image/bitmap.h
rename to include/netsurf/bitmap.h
index ef6c1b4..e54bdff 100644
--- a/content/handlers/image/bitmap.h
+++ b/include/netsurf/bitmap.h
@@ -51,8 +51,8 @@
* }
*/
-#ifndef _NETSURF_IMAGE_BITMAP_H_
-#define _NETSURF_IMAGE_BITMAP_H_
+#ifndef _NETSURF_BITMAP_H_
+#define _NETSURF_BITMAP_H_
#define BITMAP_NEW 0
#define BITMAP_OPAQUE (1 << 0) /**< image is opaque */
diff --git a/render/html.c b/render/html.c
index ecbd99c..5090b6f 100644
--- a/render/html.c
+++ b/render/html.c
@@ -46,7 +46,7 @@
#include "desktop/selection.h"
#include "desktop/scrollbar.h"
#include "desktop/textarea.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "javascript/js.h"
#include "desktop/browser.h"
#include "desktop/gui_utf8.h"
diff --git a/render/html_redraw.c b/render/html_redraw.c
index 7f8391c..cf4bd6f 100644
--- a/render/html_redraw.c
+++ b/render/html_redraw.c
@@ -48,7 +48,7 @@
#include "desktop/print.h"
#include "desktop/scrollbar.h"
#include "desktop/textarea.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "desktop/gui_layout.h"
#include "desktop/gui_internal.h"
diff --git a/test/urldbtest.c b/test/urldbtest.c
index efe33be..820dc6b 100644
--- a/test/urldbtest.c
+++ b/test/urldbtest.c
@@ -30,7 +30,7 @@
#include <curl/curl.h>
#include "utils/errors.h"
-#include "content/handlers/image/bitmap.h"
+#include "netsurf/bitmap.h"
#include "content/content.h"
#include "content/urldb.h"
#include "desktop/cookie_manager.h"
--
NetSurf Browser
_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org