]> granicus.if.org Git - libass/commitdiff
Disable caching of rotated glyphs.
authoreugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 20 Apr 2007 22:49:48 +0000 (22:49 +0000)
committereugeni <eugeni@b3059339-0415-0410-9bf9-f77b7e298cf2>
Fri, 20 Apr 2007 22:49:48 +0000 (22:49 +0000)
The following commits will add perspective distortion to the glyphs rotated
with \frx and \fry. Somewhere along the way correct caching of such glyphs
will become impossible, but in the end everything will be fine.

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

libass/ass_render.c

index 8785726dbe3a2f08afc8965e192721af0822fd07..c6ed514a202a79687982394a0c34d7c634651a4a 100644 (file)
@@ -405,6 +405,9 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
                                FT_Done_Glyph(text_info->glyphs[i].outline_glyph);
 
                        // cache
+                       if (text_info->glyphs[i].hash_key.frx == 0 &&
+                           text_info->glyphs[i].hash_key.fry == 0 &&
+                           text_info->glyphs[i].hash_key.frz == 0) {
                        hash_val.bbox_scaled = text_info->glyphs[i].bbox;
                        hash_val.bm_o = text_info->glyphs[i].bm_o;
                        hash_val.bm = text_info->glyphs[i].bm;
@@ -412,6 +415,7 @@ static ass_image_t* render_text(text_info_t* text_info, int dst_x, int dst_y)
                        hash_val.advance.x = text_info->glyphs[i].advance.x;
                        hash_val.advance.y = text_info->glyphs[i].advance.y;
                        cache_add_glyph(&(text_info->glyphs[i].hash_key), &hash_val);
+                       }
 
                }
        }