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://git.mplayerhq.hu/mplayer/trunk@23029 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index 8785726..c6ed514 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);
+                       }
 
                }
        }