]> granicus.if.org Git - libass/commitdiff
Fix clipping for pan-and-scan.
authorgreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 8 Mar 2009 04:03:28 +0000 (04:03 +0000)
committergreg <greg@b3059339-0415-0410-9bf9-f77b7e298cf2>
Sun, 8 Mar 2009 04:03:28 +0000 (04:03 +0000)
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@28876 b3059339-0415-0410-9bf9-f77b7e298cf2

libass/ass_render.c

index 368ee19c7b50a14b13fa074caa7dc82d39bf8e9e..c5824322a3c0d0a502bfa286eea2301d57b0b952 100644 (file)
@@ -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