diff options
author | Oleg Oshmyan <chortos@inbox.lv> | 2014-01-08 00:48:36 +0200 |
---|---|---|
committer | Oleg Oshmyan <chortos@inbox.lv> | 2014-01-08 03:24:32 +0200 |
commit | a37e3b3eb43f360693ee278bf2991f829b496b25 (patch) | |
tree | 75b4b946d5692d3dcb6ad2ef0c8cbb9ae1a21d2c /libass/ass_render.c | |
parent | 654e60220d2ae2b6c98681dcce24cbb9e3716755 (diff) | |
download | libass-a37e3b3eb43f360693ee278bf2991f829b496b25.tar.bz2 libass-a37e3b3eb43f360693ee278bf2991f829b496b25.tar.xz |
Distinguish cached glyphs with different hspacing when border_style == 3
hspacing affects opaque box borders.
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 5d916355..25a33e5d 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -1042,6 +1042,10 @@ fill_glyph_hash(ASS_Renderer *priv, OutlineHashKey *outline_key, key->outline.x = double_to_d16(info->border_x); key->outline.y = double_to_d16(info->border_y); key->border_style = info->border_style; + // hpacing only matters for opaque box borders (see draw_opaque_box), + // so for normal borders, maximize cache utility by ignoring it + key->hspacing = + info->border_style == 3 ? double_to_d16(info->hspacing) : 0; key->hash = info->drawing->hash; key->text = info->drawing->text; key->pbo = info->drawing->pbo; @@ -1061,6 +1065,8 @@ fill_glyph_hash(ASS_Renderer *priv, OutlineHashKey *outline_key, key->outline.y = double_to_d16(info->border_y); key->flags = info->flags; key->border_style = info->border_style; + key->hspacing = + info->border_style == 3 ? double_to_d16(info->hspacing) : 0; } } |