summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-07-14 15:41:31 +0200
committerGrigori Goronzy <greg@blackbox>2010-07-14 15:41:31 +0200
commitaf182eb551b6cf785f0044f4ac88bb1341a020ff (patch)
tree821ef0645c6fb7e20a25139c4c15b762f1b7e43c
parent476692862efa1ad0def49125e670d59a9095fd36 (diff)
downloadlibass-af182eb551b6cf785f0044f4ac88bb1341a020ff.tar.bz2
libass-af182eb551b6cf785f0044f4ac88bb1341a020ff.tar.xz
Drawing cache: include scale factor in hash key
-rw-r--r--libass/ass_render.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 75d5e7a..cdd8425 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -1022,6 +1022,8 @@ get_outline_glyph(ASS_Renderer *render_priv, int symbol, GlyphInfo *info,
key.outline.y = render_priv->state.border_y * 0xFFFF;
key.border_style = render_priv->state.style->BorderStyle;
key.drawing_hash = drawing->hash;
+ // not very clean, but works
+ key.size = drawing->scale;
} else {
key.font = render_priv->state.font;
key.size = render_priv->state.font_size;
@@ -1822,9 +1824,11 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
render_priv->state.bold;
text_info->glyphs[text_info->length].hash_key.italic =
render_priv->state.italic;
- } else
+ } else {
text_info->glyphs[text_info->length].hash_key.drawing_hash =
drawing->hash;
+ text_info->glyphs[text_info->length].hash_key.size = drawing->scale;
+ }
text_info->glyphs[text_info->length].hash_key.ch = code;
text_info->glyphs[text_info->length].hash_key.outline.x =
double_to_d16(render_priv->state.border_x);