X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxdevice.h;h=699e7f6a16afcba814774fe547b2494d5b5f9606;hp=caaa983e56e75649af66d014c99dedc6c42b1733;hb=bdad407fb79c2f7be9f3603694ebdeadc645b52d;hpb=21cb9045b63f5abec68c3d8ffbcb8c0e234fe33a diff --git a/lib/gfxdevice.h b/lib/gfxdevice.h index caaa983..699e7f6 100644 --- a/lib/gfxdevice.h +++ b/lib/gfxdevice.h @@ -30,6 +30,11 @@ typedef struct _gfxglyph const char*name; } gfxglyph_t; +typedef struct _gfxkerning +{ + int c1,c2,advance; +} gfxkerning_t; + typedef struct _gfxfont { const char*id; @@ -40,6 +45,9 @@ typedef struct _gfxfont gfxglyph_t*glyphs; int* unicode2glyph; + + gfxkerning_t*kerning; + int kerning_size; } gfxfont_t; typedef struct _gfxcolor @@ -111,10 +119,13 @@ typedef struct _gfxdevice void (*endclip)(struct _gfxdevice*dev); 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); + + /* expects alpha channel in image to be non-premultiplied */ 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*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*font, int glyph, gfxcolor_t*color, gfxmatrix_t*matrix);