diff options
Diffstat (limited to 'frontends/amiga/iff_dr2d.c')
-rw-r--r-- | frontends/amiga/iff_dr2d.c | 25 |
1 files changed, 16 insertions, 9 deletions
diff --git a/frontends/amiga/iff_dr2d.c b/frontends/amiga/iff_dr2d.c index a4c5855a1..624b501ff 100644 --- a/frontends/amiga/iff_dr2d.c +++ b/frontends/amiga/iff_dr2d.c @@ -120,6 +120,7 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char *buffer, if(!(PushChunk(iffh,0,ID_NAME,IFFSIZE_UNKNOWN))) { WriteChunkBytes(iffh,url,strlen(url)); + WriteChunkBytes(iffh,"\0",1); PopChunk(iffh); } @@ -185,6 +186,7 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char *buffer, attr->DashPattern = 1; attr->EdgeValue = findcolour(diagram->shape[i].stroke); } + attr->EdgeThick = (float) diagram->shape[i].stroke_width; if(!(PushChunk(iffh,0,ID_ATTR,IFFSIZE_UNKNOWN))) @@ -281,7 +283,7 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char *buffer, if(!(PushChunk(iffh, 0, ID_FONS, IFFSIZE_UNKNOWN))) { WriteChunkBytes(iffh, fons, sizeof(struct fons_struct)); - WriteChunkBytes(iffh, "Topaz\0", 6); + WriteChunkBytes(iffh, "Helvetica\0", 10); PopChunk(iffh); } free(fons); @@ -310,22 +312,27 @@ bool ami_svg_to_dr2d(struct IFFHandle *iffh, const char *buffer, bool ami_save_svg(struct hlcache_handle *c,char *filename) { struct IFFHandle *iffh; - const char *source_data; - ULONG source_size; + const uint8_t *source_data; + size_t source_size; - if(!ami_download_check_overwrite(filename, NULL, 0)) return false; + if (!ami_download_check_overwrite(filename, NULL, 0)) return false; - if((iffh = AllocIFF())) { - if((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) { + if ((iffh = AllocIFF())) { + if ((iffh->iff_Stream = Open(filename,MODE_NEWFILE))) { InitIFFasDOS(iffh); } else return false; } - if((OpenIFF(iffh,IFFF_WRITE))) return false; + if ((OpenIFF(iffh,IFFF_WRITE))) return false; - if((source_data = content_get_source_data(c, &source_size))) - ami_svg_to_dr2d(iffh, source_data, source_size, nsurl_access(hlcache_handle_get_url(c))); + source_data = content_get_source_data(c, &source_size); + if (source_data != NULL) { + ami_svg_to_dr2d(iffh, + (const char *)source_data, + source_size, + nsurl_access(hlcache_handle_get_url(c))); + } if(iffh) CloseIFF(iffh); if(iffh->iff_Stream) Close((BPTR)iffh->iff_Stream); |