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.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 85c6aec..8e590e8 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -449,18 +449,22 @@ render_glyph(ASS_Renderer *render_priv, Bitmap *bm, int dst_x, int dst_y,
tmp = dst_x - clip_x0;
if (tmp < 0) {
b_x0 = -tmp;
+ render_priv->state.has_clips = 1;
}
tmp = dst_y - clip_y0;
if (tmp < 0) {
b_y0 = -tmp;
+ render_priv->state.has_clips = 1;
}
tmp = clip_x1 - dst_x - bm->w;
if (tmp < 0) {
b_x1 = bm->w + tmp;
+ render_priv->state.has_clips = 1;
}
tmp = clip_y1 - dst_y - bm->h;
if (tmp < 0) {
b_y1 = bm->h + tmp;
+ render_priv->state.has_clips = 1;
}
if ((b_y0 >= b_y1) || (b_x0 >= b_x1))
@@ -571,7 +575,7 @@ static void blend_vector_clip(ASS_Renderer *render_priv,
int aleft, atop, bleft, btop;
unsigned char *abuffer, *bbuffer, *nbuffer;
- render_priv->state.has_vector_clip = 1;
+ render_priv->state.has_clips = 1;
abuffer = cur->bitmap;
bbuffer = clip_bm->buffer;
@@ -810,7 +814,7 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event)
render_priv->state.event = event;
render_priv->state.style = render_priv->track->styles + event->Style;
render_priv->state.parsed_tags = 0;
- render_priv->state.has_vector_clip = 0;
+ render_priv->state.has_clips = 0;
reset_render_context(render_priv, render_priv->state.style);
render_priv->state.wrap_style = render_priv->track->WrapStyle;
@@ -2856,7 +2860,7 @@ static int ass_detect_change(ASS_Renderer *priv)
ASS_Image *img, *img2;
int diff;
- if (priv->cache_cleared || priv->state.has_vector_clip)
+ if (priv->cache_cleared || priv->state.has_clips)
return 2;
img = priv->prev_images_root;