summaryrefslogtreecommitdiff
path: root/image/bitmap.h
diff options
context:
space:
mode:
Diffstat (limited to 'image/bitmap.h')
-rw-r--r--image/bitmap.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/image/bitmap.h b/image/bitmap.h
new file mode 100644
index 000000000..052a3a4f4
--- /dev/null
+++ b/image/bitmap.h
@@ -0,0 +1,38 @@
+/*
+ * This file is part of NetSurf, http://netsurf.sourceforge.net/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2004 James Bursa <bursa@users.sourceforge.net>
+ */
+
+/** \file
+ * Generic bitmap handling (interface).
+ *
+ * This interface wraps the native platform-specific image format, so that
+ * portable image convertors can be written.
+ *
+ * The bitmap format is either RGBA.
+ */
+
+#ifndef _NETSURF_IMAGE_BITMAP_H_
+#define _NETSURF_IMAGE_BITMAP_H_
+
+#include <stdbool.h>
+#include <stdlib.h>
+
+struct content;
+
+/** An opaque image. */
+struct bitmap;
+
+struct bitmap *bitmap_create(int width, int height);
+char *bitmap_get_buffer(struct bitmap *bitmap);
+size_t bitmap_get_rowstride(struct bitmap *bitmap);
+void bitmap_destroy(struct bitmap *bitmap);
+bool bitmap_redraw(struct content *c, int x, int y,
+ int width, int height,
+ int clip_x0, int clip_y0, int clip_x1, int clip_y1,
+ float scale, unsigned long background_colour);
+bool bitmap_save(struct bitmap *bitmap, const char *path);
+
+#endif