summaryrefslogtreecommitdiff
path: root/image/rsvg.h
diff options
context:
space:
mode:
authorRob Kendrick <rjek@netsurf-browser.org>2007-07-18 17:58:35 +0000
committerRob Kendrick <rjek@netsurf-browser.org>2007-07-18 17:58:35 +0000
commit04292695be1ab1964dcc1636a9dff522c760fda9 (patch)
tree068437817cb3432566af22978d62ee295fcd27fc /image/rsvg.h
parent59f358eb0f44ff1cb82cfe72b967577d8ddf5a2f (diff)
downloadnetsurf-04292695be1ab1964dcc1636a9dff522c760fda9.tar.gz
netsurf-04292695be1ab1964dcc1636a9dff522c760fda9.tar.bz2
Initial work on RSVG image handler. Still a lot to do.
svn path=/trunk/netsurf/; revision=3433
Diffstat (limited to 'image/rsvg.h')
-rw-r--r--image/rsvg.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/image/rsvg.h b/image/rsvg.h
new file mode 100644
index 000000000..04ec655c5
--- /dev/null
+++ b/image/rsvg.h
@@ -0,0 +1,42 @@
+/*
+ * This file is part of NetSurf, http://netsurf-browser.org/
+ * Licensed under the GNU General Public License,
+ * http://www.opensource.org/licenses/gpl-license
+ * Copyright 2007 Rob Kendrick <rjek@netsurf-browser.org>
+ */
+
+/** \file
+ * Content handler for image/svg using librsvg (interface).
+ */
+
+#ifndef _NETSURF_IMAGE_RSVG_H_
+#define _NETSURF_IMAGE_RSVG_H_
+
+#include <stdbool.h>
+#include <librsvg/rsvg.h>
+#include <cairo.h>
+
+#include "image/bitmap.h"
+
+struct content;
+
+struct content_rsvg_data {
+ RsvgHandle *rsvgh; /**< Context handle for RSVG renderer */
+ cairo_surface_t *cs; /**< The surface built inside a nsbitmap */
+ cairo_t *ct; /**< Cairo drawing context */
+ struct bitmap *bitmap; /**< Created NetSurf bitmap */
+};
+
+bool rsvg_create(struct content *c, const char *params[]);
+bool rsvg_convert(struct content *c, int width, int height);
+void rsvg_destroy(struct content *c);
+bool rsvg_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 rsvg_redraw_tiled(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 repeat_x, bool repeat_y);
+#endif