From 2dab078f21db7dec5a29079daf9a5f0a06a6e0bd Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Thu, 26 May 2016 23:01:03 +0100 Subject: move bitmap API header to core include directory --- content/handlers/image/bitmap.h | 177 ----------------------------------- 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 +- 10 files changed, 9 insertions(+), 186 deletions(-) delete mode 100644 content/handlers/image/bitmap.h (limited to 'content/handlers') diff --git a/content/handlers/image/bitmap.h b/content/handlers/image/bitmap.h deleted file mode 100644 index ef6c1b49b..000000000 --- a/content/handlers/image/bitmap.h +++ /dev/null @@ -1,177 +0,0 @@ -/* - * Copyright 2004 James Bursa - * - * 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 . - */ - -/** - * \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 f622f6cb0..e108b48ac 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 d8d968e7d..1167266a6 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 d364fdff5..5ea29bfab 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 d1743697d..487b35bcd 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 49370ad6e..52b3b344f 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 b5eade306..179b8fc5b 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 fd651e0b0..082bf9eb1 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 4f6f17d58..04083d8a4 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 bd773682f..dce1ea9fe 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 { -- cgit v1.2.3