summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2007-07-18 23:26:00 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2007-07-18 23:26:00 +0000
commit3e3a9efd00c551282bbf953238892feec550c73e (patch)
treef3b95c5bb8008350e193b5415263bd9bc0acc6e7 /gtk
parentc42e0bf350c68023c75279721bd4a713474cc45d (diff)
downloadnetsurf-3e3a9efd00c551282bbf953238892feec550c73e.tar.gz
netsurf-3e3a9efd00c551282bbf953238892feec550c73e.tar.bz2
Add bitmap_save() handler for nsgtk bitmaps. Saves in PNG format.
svn path=/trunk/netsurf/; revision=3437
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtk_bitmap.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/gtk/gtk_bitmap.c b/gtk/gtk_bitmap.c
index 67a3db332..f48d480f1 100644
--- a/gtk/gtk_bitmap.c
+++ b/gtk/gtk_bitmap.c
@@ -46,6 +46,7 @@ struct bitmap {
struct bitmap *bitmap_create(int width, int height, unsigned int state)
{
struct bitmap *bmp = malloc(sizeof(struct bitmap));
+
bmp->primary = gdk_pixbuf_new(GDK_COLORSPACE_RGB, true, 8,
width, height);
bmp->pretile_x = bmp->pretile_y = bmp->pretile_xy = NULL;
@@ -159,6 +160,14 @@ void bitmap_destroy(struct bitmap *bitmap)
bool bitmap_save(struct bitmap *bitmap, const char *path)
{
+ GError *err = NULL;
+
+ gdk_pixbuf_save(bitmap->primary, path, "png", &err, NULL);
+
+ if (err == NULL)
+ /* TODO: report an error here */
+ return false;
+
return true;
}