summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index dbc487c..1edb9ae 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -907,7 +907,7 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event)
render_priv->state.clip_mode = 0;
render_priv->state.detect_collisions = 1;
render_priv->state.fade = 0;
- render_priv->state.drawing_mode = 0;
+ render_priv->state.drawing_scale = 0;
render_priv->state.effect_type = EF_NONE;
render_priv->state.effect_timing = 0;
render_priv->state.effect_skip_timing = 0;
@@ -1755,7 +1755,7 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
if (!in_tag && *p == '{') { // '\0' goes here
p++;
in_tag = 1;
- if (render_priv->state.drawing_mode) {
+ if (render_priv->state.drawing_scale) {
// A drawing definition has just ended.
// Exit and create the drawing now lest we
// accidentally let it consume later text
@@ -1775,7 +1775,7 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
}
} else {
code = get_next_char(render_priv, &p);
- if (code && render_priv->state.drawing_mode) {
+ if (code && render_priv->state.drawing_scale) {
ass_drawing_add_char(drawing, (char) code);
continue; // skip everything in drawing mode
}
@@ -1802,6 +1802,8 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
render_priv->font_scale;
drawing->scale_y = render_priv->state.scale_y *
render_priv->font_scale;
+ drawing->scale = render_priv->state.drawing_scale;
+ drawing->pbo = render_priv->state.pbo;
code = 0xfffc; // object replacement character
info->drawing = drawing;
}