summaryrefslogtreecommitdiff
path: root/frontends/amiga/iff_dr2d.c
diff options
context:
space:
mode:
Diffstat (limited to 'frontends/amiga/iff_dr2d.c')
-rw-r--r--frontends/amiga/iff_dr2d.c25
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);