diff options
author | Rob Kendrick <rjek@netsurf-browser.org> | 2007-07-18 17:58:35 +0000 |
---|---|---|
committer | Rob Kendrick <rjek@netsurf-browser.org> | 2007-07-18 17:58:35 +0000 |
commit | 04292695be1ab1964dcc1636a9dff522c760fda9 (patch) | |
tree | 068437817cb3432566af22978d62ee295fcd27fc /image/rsvg.h | |
parent | 59f358eb0f44ff1cb82cfe72b967577d8ddf5a2f (diff) | |
download | netsurf-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.h | 42 |
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 |