summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-08 04:03:28 +0000
committergreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>2009-03-08 04:03:28 +0000
commit82ed1c0217af2b85c5eaabdcaa87ecb2245aa4b0 (patch)
tree69bb222fdfec636b3c68716ea0583a81c818c32c
parentc40e97f5741b61cd1f2944bd87019cbe9de0e402 (diff)
downloadlibass-82ed1c0217af2b85c5eaabdcaa87ecb2245aa4b0.tar.bz2
libass-82ed1c0217af2b85c5eaabdcaa87ecb2245aa4b0.tar.xz
Fix clipping for pan-and-scan.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28876 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libass/ass_render.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 368ee19..c582432 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -2108,11 +2108,11 @@ static int ass_render_event(ass_event_t* event, event_images_t* event_images)
}
// fix clip coordinates (they depend on alignment)
- render_context.clip_x0 = x2scr(render_context.clip_x0);
- render_context.clip_x1 = x2scr(render_context.clip_x1);
if (render_context.evt_type == EVENT_NORMAL ||
render_context.evt_type == EVENT_HSCROLL ||
render_context.evt_type == EVENT_VSCROLL) {
+ render_context.clip_x0 = x2scr(render_context.clip_x0);
+ render_context.clip_x1 = x2scr(render_context.clip_x1);
if (valign == VALIGN_TOP) {
render_context.clip_y0 = y2scr_top(render_context.clip_y0);
render_context.clip_y1 = y2scr_top(render_context.clip_y1);
@@ -2124,8 +2124,10 @@ static int ass_render_event(ass_event_t* event, event_images_t* event_images)
render_context.clip_y1 = y2scr_sub(render_context.clip_y1);
}
} else if (render_context.evt_type == EVENT_POSITIONED) {
- render_context.clip_y0 = y2scr(render_context.clip_y0);
- render_context.clip_y1 = y2scr(render_context.clip_y1);
+ render_context.clip_x0 = x2scr_pos(render_context.clip_x0);
+ render_context.clip_x1 = x2scr_pos(render_context.clip_x1);
+ render_context.clip_y0 = y2scr_pos(render_context.clip_y0);
+ render_context.clip_y1 = y2scr_pos(render_context.clip_y1);
}
// calculate rotation parameters