diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2004-09-04 16:41:28 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2004-09-04 16:41:28 +0000 |
commit | 101c87958dfeb769c697136d221a2a1c63929e65 (patch) | |
tree | 99108a4a5c4b182ca9d385a9fa0330a9a6e3ea03 /riscos/save_draw.c | |
parent | e223757e3504586f8c260991b81f8f62c3b75ffc (diff) | |
download | netsurf-101c87958dfeb769c697136d221a2a1c63929e65.tar.gz netsurf-101c87958dfeb769c697136d221a2a1c63929e65.tar.bz2 |
[project @ 2004-09-04 16:41:28 by jmb]
Fix jpeg redraw
Move png.c/h to /image and rework to use the bitmap code
Make RISC OS bitmap struct publically accessible (via riscos/bitmap.h)
Draw export now embeds JPEGs and PNGs/MNGs/JNGs correctly again.
Background images are now plotted correctly again.
svn path=/import/netsurf/; revision=1268
Diffstat (limited to 'riscos/save_draw.c')
-rw-r--r-- | riscos/save_draw.c | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/riscos/save_draw.c b/riscos/save_draw.c index e00ad3350..297cc34d2 100644 --- a/riscos/save_draw.c +++ b/riscos/save_draw.c @@ -25,6 +25,7 @@ #include "netsurf/render/font.h" #include "netsurf/render/form.h" #include "netsurf/render/layout.h" +#include "netsurf/riscos/bitmap.h" #include "netsurf/riscos/save_draw.h" #include "netsurf/utils/log.h" #include "netsurf/utils/utils.h" @@ -595,7 +596,9 @@ static bool add_box(struct box *box, colour cbc, int x, int y) if (box->object) { switch (box->object->type) { +#ifdef WITH_JPEG case CONTENT_JPEG: +#endif #ifdef WITH_PNG case CONTENT_PNG: #endif @@ -603,7 +606,9 @@ static bool add_box(struct box *box, colour cbc, int x, int y) case CONTENT_JNG: case CONTENT_MNG: #endif +#ifdef WITH_GIF case CONTENT_GIF: +#endif #ifdef WITH_SPRITE case CONTENT_SPRITE: #endif @@ -702,24 +707,27 @@ static bool add_graphic(struct content *content, struct box *box, /* cast-tastic... */ switch (content->type) { +#ifdef WITH_JPEG case CONTENT_JPEG: - return true; - /*sprite_length = ((osspriteop_header*)((char*)content->data.jpeg.sprite_area+content->data.jpeg.sprite_area->first))->size;*/ + sprite_length = ((osspriteop_header*)((char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first))->size; break; +#endif #ifdef WITH_PNG case CONTENT_PNG: - /*sprite_length = ((osspriteop_header*)((char*)content->data.png.sprite_area+content->data.png.sprite_area->first))->size;*/ + sprite_length = ((osspriteop_header*)((char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first))->size; break; #endif #ifdef WITH_MNG case CONTENT_JNG: case CONTENT_MNG: - /*sprite_length = ((osspriteop_header*)((char*)content->data.mng.sprite_area+content->data.mng.sprite_area->first))->size;*/ + sprite_length = ((osspriteop_header*)((char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first))->size; break; #endif +#ifdef WITH_GIF case CONTENT_GIF: sprite_length = ((osspriteop_header*)((char*)content->data.gif.gif->frame_image+content->data.gif.gif->frame_image->first))->size; break; +#endif #ifdef WITH_SPRITE case CONTENT_SPRITE: sprite_length = ((osspriteop_header*)((char*)content->data.sprite.data+(((osspriteop_area*)content->data.sprite.data)->first)))->size; @@ -742,23 +750,27 @@ static bool add_graphic(struct content *content, struct box *box, ds->bbox.y1 = y; switch (content->type) { +#ifdef WITH_JPEG case CONTENT_JPEG: - /*memcpy((char*)ds+16, (char*)content->data.jpeg.sprite_area+content->data.jpeg.sprite_area->first, (unsigned)sprite_length);*/ + memcpy((char*)ds+16, (char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first, (unsigned)sprite_length); break; +#endif #ifdef WITH_PNG case CONTENT_PNG: - /*memcpy((char*)ds+16, (char*)content->data.png.sprite_area+content->data.png.sprite_area->first, (unsigned)sprite_length);*/ + memcpy((char*)ds+16, (char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first, (unsigned)sprite_length); break; #endif #ifdef WITH_MNG case CONTENT_JNG: case CONTENT_MNG: - /*memcpy((char*)ds+16, (char*)content->data.mng.sprite_area+content->data.mng.sprite_area->first, (unsigned)sprite_length);*/ + memcpy((char*)ds+16, (char*)&content->bitmap->sprite_area+content->bitmap->sprite_area.first, (unsigned)sprite_length); break; #endif +#ifdef WITH_GIF case CONTENT_GIF: memcpy((char*)ds+16, (char*)content->data.gif.gif->frame_image+content->data.gif.gif->frame_image->first, (unsigned)sprite_length); break; +#endif #ifdef WITH_SPRITE case CONTENT_SPRITE: memcpy((char*)ds+16, (char*)content->data.sprite.data+((osspriteop_area*)content->data.sprite.data)->first, (unsigned)sprite_length); |