diff options
author | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2008-09-15 20:23:02 +0000 |
---|---|---|
committer | Daniel Silverstone <dsilvers@netsurf-browser.org> | 2008-09-15 20:23:02 +0000 |
commit | d3270ed648c971b5708c84188e6d7ce184801468 (patch) | |
tree | 6ca2aa5596c1e405d2e1859bdc5e14524d5a89d9 /image/png.h | |
parent | 5c9f7937f5b4779e903eb39385907f3f793a723e (diff) | |
download | netsurf-d3270ed648c971b5708c84188e6d7ce184801468.tar.gz netsurf-d3270ed648c971b5708c84188e6d7ce184801468.tar.bz2 |
Add libpng support. Default to off.
svn path=/trunk/netsurf/; revision=5330
Diffstat (limited to 'image/png.h')
-rw-r--r-- | image/png.h | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/image/png.h b/image/png.h new file mode 100644 index 000000000..5350ec61d --- /dev/null +++ b/image/png.h @@ -0,0 +1,51 @@ +/* + * Copyright 2003 James Bursa <bursa@users.sourceforge.net> + * Copyright 2008 Daniel Silverstone <dsilvers@netsurf-browser.org> + * + * 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 <http://www.gnu.org/licenses/>. + */ + +#ifndef _NETSURF_RISCOS_PNG_H_ +#define _NETSURF_RISCOS_PNG_H_ + +#include <stdbool.h> +#include <libpng/png.h> + +struct content; +struct bitmap; + +struct content_png_data { + png_structp png; + png_infop info; + int interlace; + struct bitmap *bitmap; /**< Created NetSurf bitmap */ + unsigned char *bitbuffer; /**< Bitmap buffer */ + size_t rowstride, bpp; /**< Bitmap rowstride and bpp */ + size_t rowbytes; /**< Number of bytes per row */ +}; + +bool nspng_create(struct content *c, const char *params[]); +bool nspng_process_data(struct content *c, char *data, unsigned int size); +bool nspng_convert(struct content *c, int width, int height); +void nspng_destroy(struct content *c); +bool nspng_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 nspng_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 |