]> granicus.if.org Git - libass/commitdiff
Bugfix: glyph cache depends on border width, because it contains outline_glyph
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Tue, 1 May 2007 14:29:28 +0000 (14:29 +0000)
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Tue, 1 May 2007 14:29:28 +0000 (14:29 +0000)
(glyph border obtained with FT_Glyph_StrokeBorder) since r23043.

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@23188 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_cache.h
libass/ass_render.c

index 7ff75885b8eb8c5b1a77edad85db92c4ba1735f9..89e69f783f2619966c4c2e0c8091ba75ec7b12c6 100644 (file)
@@ -66,6 +66,7 @@ typedef struct glyph_hash_key_s {
        int bold, italic;
        unsigned scale_x, scale_y; // 16.16
        FT_Vector advance; // subpixel shift vector
+       unsigned outline; // border width, 16.16
 } glyph_hash_key_t;
 
 typedef struct glyph_hash_val_s {
index da4d98ae9e6660bf49bb47eeb48d2a75ff4370d4..63acb5bafad0208b943c70c97c0cef0f8f39d9e4 100644 (file)
@@ -1237,6 +1237,7 @@ static void get_outline_glyph(int symbol, glyph_info_t* info, FT_Vector* advance
        key.advance = *advance;
        key.bold = render_context.bold;
        key.italic = render_context.italic;
+       key.outline = render_context.border * 0xFFFF;
 
        info->glyph = info->outline_glyph = 0;