X-Git-Url: http://git.asbjorn.biz/?a=blobdiff_plain;f=lib%2Fdevices%2Ffile.c;h=553e6422970b00e649177de912c9c3ba0baa5d0c;hb=7fb4a4ac393f19a0b8a8998a2f1deac88c97eda0;hp=288a0a7691d88ec9da5e9104c490ce2e5d456ba9;hpb=7d6aa220c65d5370387d700709ceaa4eb410c165;p=swftools.git diff --git a/lib/devices/file.c b/lib/devices/file.c index 288a0a7..553e642 100644 --- a/lib/devices/file.c +++ b/lib/devices/file.c @@ -20,7 +20,10 @@ #include #include +#ifndef WIN32 #include +#endif +#include #include #include "../gfxdevice.h" @@ -56,6 +59,20 @@ static void dumpline(FILE*fi, gfxline_t*line) } } +static void dumpmatrix (FILE*fi, gfxmatrix_t*matrix) +{ + fprintf(fi, "| %5.2f %5.2f %5.2f\n", matrix->m00, matrix->m10, matrix->tx); + fprintf(fi, "| %5.2f %5.2f %5.2f\n", matrix->m01, matrix->m11, matrix->ty); +} + +static void dumpgradient (FILE*fi, gfxgradient_t*gradient) +{ + while(gradient) { + fprintf(fi, "pos %f: %02x%02x%02x%02x\n", gradient->pos, gradient->color.r, gradient->color.g, gradient->color.b, gradient->color.a); + gradient = gradient->next; + } +} + void file_startclip(struct _gfxdevice*dev, gfxline_t*line) { internal_t*i = (internal_t*)dev->internal; @@ -92,6 +109,7 @@ void file_fillbitmap(struct _gfxdevice*dev, gfxline_t*line, gfximage_t*img, gfxm { internal_t*i = (internal_t*)dev->internal; fprintf(i->fi, "fillbitmap\n"); + dumpmatrix(i->fi, matrix); dumpline(i->fi, line); } @@ -99,12 +117,15 @@ void file_fillgradient(struct _gfxdevice*dev, gfxline_t*line, gfxgradient_t*grad { internal_t*i = (internal_t*)dev->internal; fprintf(i->fi, "fillgradient\n"); + dumpmatrix(i->fi, matrix); + dumpgradient(i->fi, gradient); dumpline(i->fi, line); } void file_addfont(struct _gfxdevice*dev, gfxfont_t*font) { internal_t*i = (internal_t*)dev->internal; + fprintf(i->fi, "addfont %s\n", font->id); } void file_drawchar(struct _gfxdevice*dev, gfxfont_t*font, int glyph, gfxcolor_t*color, gfxmatrix_t*matrix) @@ -112,7 +133,7 @@ void file_drawchar(struct _gfxdevice*dev, gfxfont_t*font, int glyph, gfxcolor_t* internal_t*i = (internal_t*)dev->internal; } -void file_drawlink(struct _gfxdevice*dev, gfxline_t*line, char*action) +void file_drawlink(struct _gfxdevice*dev, gfxline_t*line, const char*action) { internal_t*i = (internal_t*)dev->internal; fprintf(i->fi, "drawlink %s\n", action);