diff options
author | James Bursa <james@netsurf-browser.org> | 2003-02-25 21:00:27 +0000 |
---|---|---|
committer | James Bursa <james@netsurf-browser.org> | 2003-02-25 21:00:27 +0000 |
commit | 8edb43af7dbf0b28892f9d8a8d8ddae523e41b73 (patch) | |
tree | f83c7ed22bfac320b468979e181630e7ebc6dfe4 /riscos/jpeg.c | |
parent | 9209f8e6cbd2423a243dcab05bbff2e41d193d3f (diff) | |
download | netsurf-8edb43af7dbf0b28892f9d8a8d8ddae523e41b73.tar.gz netsurf-8edb43af7dbf0b28892f9d8a8d8ddae523e41b73.tar.bz2 |
[project @ 2003-02-25 21:00:27 by bursa]
Bug fixes, experimental JPEG support.
svn path=/import/netsurf/; revision=100
Diffstat (limited to 'riscos/jpeg.c')
-rw-r--r-- | riscos/jpeg.c | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/riscos/jpeg.c b/riscos/jpeg.c new file mode 100644 index 000000000..48f43ca8e --- /dev/null +++ b/riscos/jpeg.c @@ -0,0 +1,59 @@ +/** + * $Id: jpeg.c,v 1.1 2003/02/25 21:00:27 bursa Exp $ + * + * This is just a temporary implementation using the JPEG renderer + * available in some versions of RISC OS. + */ + +#include <assert.h> +#include <string.h> +#include <stdlib.h> +#include "netsurf/content/content.h" +#include "netsurf/riscos/jpeg.h" +#include "netsurf/utils/utils.h" +#include "oslib/jpeg.h" + + +void jpeg_create(struct content *c) +{ + c->data.jpeg.data = xcalloc(0, 1); + c->data.jpeg.length = 0; +} + + +void jpeg_process_data(struct content *c, char *data, unsigned long size) +{ + c->data.jpeg.data = xrealloc(c->data.jpeg.data, c->data.jpeg.length + size); + memcpy(c->data.jpeg.data + c->data.jpeg.length, data, size); + c->data.jpeg.length += size; +} + + +int jpeg_convert(struct content *c, unsigned int width, unsigned int height) +{ + os_error *error; + int w, h; + error = xjpeginfo_dimensions(c->data.jpeg.data, (int) c->data.jpeg.length, + 0, &w, &h, 0, 0, 0); + if (error != 0) + return 1; + c->width = w; + c->height = h; + return 0; +} + + +void jpeg_revive(struct content *c, unsigned int width, unsigned int height) +{ +} + + +void jpeg_reformat(struct content *c, unsigned int width, unsigned int height) +{ +} + + +void jpeg_destroy(struct content *c) +{ + xfree(c->data.jpeg.data); +} |