diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-05-16 14:50:30 +0000 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2009-05-16 14:50:30 +0000 |
commit | 478d953ea50169cab4ae57ba414c57332b17bf5f (patch) | |
tree | 4a47704d8c72555b846318dd117167ae5bdf84a0 /amiga/bitmap.c | |
parent | 750a6e624cf3ca0741d8fbc0a0ff3abae468a0cd (diff) | |
download | netsurf-478d953ea50169cab4ae57ba414c57332b17bf5f.tar.gz netsurf-478d953ea50169cab4ae57ba414c57332b17bf5f.tar.bz2 |
Copy and save images in IFF ILBM format. Currently, the data in the BODY chunk is
wrong.
svn path=/trunk/netsurf/; revision=7516
Diffstat (limited to 'amiga/bitmap.c')
-rw-r--r-- | amiga/bitmap.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/amiga/bitmap.c b/amiga/bitmap.c index 1e553c287..be34e1951 100644 --- a/amiga/bitmap.c +++ b/amiga/bitmap.c @@ -23,6 +23,8 @@ #include <proto/picasso96api.h> #include <graphics/composite.h> #include "amiga/options.h" +#include <proto/iffparse.h> +#include <proto/dos.h> /** * Create a bitmap. @@ -123,6 +125,22 @@ void bitmap_destroy(void *bitmap) bool bitmap_save(void *bitmap, const char *path, unsigned flags) { + struct IFFHandle *iffh; + struct bitmap *bm = bitmap; + + if(iffh = AllocIFF()) + { + if(iffh->iff_Stream = Open(path,MODE_NEWFILE)) + { + InitIFFasDOS(iffh); + ami_easy_clipboard_bitmap(bm,iffh,bm->url,bm->title); + bm->url = NULL; + bm->title = NULL; + Close(iffh->iff_Stream); + } + FreeIFF(iffh); + } + return true; } |