diff options
author | Grigori Goronzy <greg@blackbox> | 2010-07-14 15:41:31 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2010-07-14 15:41:31 +0200 |
commit | af182eb551b6cf785f0044f4ac88bb1341a020ff (patch) | |
tree | 821ef0645c6fb7e20a25139c4c15b762f1b7e43c | |
parent | 476692862efa1ad0def49125e670d59a9095fd36 (diff) | |
download | libass-af182eb551b6cf785f0044f4ac88bb1341a020ff.tar.bz2 libass-af182eb551b6cf785f0044f4ac88bb1341a020ff.tar.xz |
Drawing cache: include scale factor in hash key
-rw-r--r-- | libass/ass_render.c | 6 |
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); |