X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxdevice.h;h=2e508bf6b92bf8bd60ec1397f143b9ead2697650;hp=d0e7d14819c6e99eb5d96ac4d86eb8295dc9df6a;hb=fc815311aa1bd67877b404493838dfd85a86f596;hpb=80cc20b7784cccc9d8baf9839f9781db6bb6f539 diff --git a/lib/gfxdevice.h b/lib/gfxdevice.h index d0e7d14..2e508bf 100644 --- a/lib/gfxdevice.h +++ b/lib/gfxdevice.h @@ -35,6 +35,9 @@ typedef struct _gfxfont const char*id; int num_glyphs; int max_unicode; + + double ascent,descent; + gfxglyph_t*glyphs; int* unicode2glyph; } gfxfont_t; @@ -62,8 +65,10 @@ typedef struct _gfximage int height; } gfximage_t; +/* gradients: A radial gradient will start at 0,0 and have a radius of 1,0 + An axial gradient starts at -1,0 and ends at 1,0 + */ typedef enum {gfxgradient_radial, gfxgradient_linear} gfxgradienttype_t; - typedef struct _gfxgradient { gfxcolor_t color; @@ -107,16 +112,18 @@ typedef struct _gfxdevice void (*stroke)(struct _gfxdevice*dev, gfxline_t*line, gfxcoord_t width, gfxcolor_t*color, gfx_capType cap_style, gfx_joinType joint_style, gfxcoord_t miterLimit); void (*fill)(struct _gfxdevice*dev, gfxline_t*line, gfxcolor_t*color); void (*fillbitmap)(struct _gfxdevice*dev, gfxline_t*line, gfximage_t*img, gfxmatrix_t*imgcoord2devcoord, gfxcxform_t*cxform); //cxform? tiling? - void (*fillgradient)(struct _gfxdevice*dev, gfxline_t*line, gfxgradient_t*gradient, gfxgradienttype_t type, gfxmatrix_t*matrix); //? + void (*fillgradient)(struct _gfxdevice*dev, gfxline_t*line, gfxgradient_t*gradient, gfxgradienttype_t type, gfxmatrix_t*gradcoord2devcoord); //? - /* deprecated */ void (*addfont)(struct _gfxdevice*dev, gfxfont_t*font); + void (*addfont)(struct _gfxdevice*dev, gfxfont_t*font); - void (*drawchar)(struct _gfxdevice*dev, gfxfont_t*fontid, int glyph, gfxcolor_t*color, gfxmatrix_t*matrix); + void (*drawchar)(struct _gfxdevice*dev, gfxfont_t*font, int glyph, gfxcolor_t*color, gfxmatrix_t*matrix); void (*drawlink)(struct _gfxdevice*dev, gfxline_t*line, const char*action); void (*endpage)(struct _gfxdevice*dev); + const char* (*geterror)(); + gfxresult_t* (*finish)(struct _gfxdevice*dev); void* internal;