X-Git-Url: http://git.asbjorn.biz/?p=swftools.git;a=blobdiff_plain;f=lib%2Fgfxdevice.h;h=181d0b9b93c9ad44240759d460b667b8bd8d3727;hp=0d9a99460d832dec36508c60694793eb7e228c21;hb=3d73649bf0e39778e715a07da902d0a858065a43;hpb=3ca63a765deda9737dbbf336322daf7a9a551ba8 diff --git a/lib/gfxdevice.h b/lib/gfxdevice.h index 0d9a994..181d0b9 100644 --- a/lib/gfxdevice.h +++ b/lib/gfxdevice.h @@ -30,13 +30,24 @@ typedef struct _gfxglyph const char*name; } gfxglyph_t; +typedef struct _gfxkerning +{ + int c1,c2,advance; +} gfxkerning_t; + typedef struct _gfxfont { const char*id; int num_glyphs; int max_unicode; + + double ascent,descent; + gfxglyph_t*glyphs; int* unicode2glyph; + + gfxkerning_t*kerning; + int kerning_size; } gfxfont_t; typedef struct _gfxcolor @@ -111,7 +122,7 @@ typedef struct _gfxdevice 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); @@ -119,6 +130,8 @@ typedef struct _gfxdevice void (*endpage)(struct _gfxdevice*dev); + const char* (*geterror)(); + gfxresult_t* (*finish)(struct _gfxdevice*dev); void* internal;