Fix #35390: sequencer end frame of preview range was not drawing correct.
authorBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 18 May 2013 10:24:38 +0000 (10:24 +0000)
committerBrecht Van Lommel <brechtvanlommel@pandora.be>
Sat, 18 May 2013 10:24:38 +0000 (10:24 +0000)
source/blender/editors/animation/anim_draw.c
source/blender/editors/include/ED_anim_api.h
source/blender/editors/space_action/space_action.c
source/blender/editors/space_graph/space_graph.c
source/blender/editors/space_nla/space_nla.c
source/blender/editors/space_sequencer/sequencer_draw.c

index bd4c234781534c76293bdce34d1ba20a5c42522a..8ebb13febec28a25e797c669ba067f60f52d23d4 100644 (file)
@@ -251,7 +251,7 @@ void ANIM_draw_cfra(const bContext *C, View2D *v2d, short flag)
 /* Note: 'Preview Range' tools are defined in anim_ops.c */
 
 /* Draw preview range 'curtains' for highlighting where the animation data is */
-void ANIM_draw_previewrange(const bContext *C, View2D *v2d)
+void ANIM_draw_previewrange(const bContext *C, View2D *v2d, int end_frame_width)
 {
        Scene *scene = CTX_data_scene(C);
        
@@ -262,9 +262,9 @@ void ANIM_draw_previewrange(const bContext *C, View2D *v2d)
                glColor4f(0.0f, 0.0f, 0.0f, 0.4f);
                
                /* only draw two separate 'curtains' if there's no overlap between them */
-               if (PSFRA < PEFRA) {
+               if (PSFRA < PEFRA+end_frame_width) {
                        glRectf(v2d->cur.xmin, v2d->cur.ymin, (float)PSFRA, v2d->cur.ymax);
-                       glRectf((float)PEFRA, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
+                       glRectf((float)(PEFRA+end_frame_width), v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
                }
                else {
                        glRectf(v2d->cur.xmin, v2d->cur.ymin, v2d->cur.xmax, v2d->cur.ymax);
index f698f9b0b11711253247ec076447fc3022761e00..1de1731b5152b81cade85f66933aff0de93c33cc 100644 (file)
@@ -491,7 +491,7 @@ void ANIM_draw_cfra(const struct bContext *C, struct View2D *v2d, short flag);
 /* ------------- Preview Range Drawing -------------- */
 
 /* main call to draw preview range curtains */
-void ANIM_draw_previewrange(const struct bContext *C, struct View2D *v2d);
+void ANIM_draw_previewrange(const struct bContext *C, struct View2D *v2d, int end_frame_width);
 
 /* ************************************************* */
 /* F-MODIFIER TOOLS */
index 61477f0730e2382bad259958611cee68b30e0f3b..b2bb455a0ba88e268fd1a5248490ffb6253e9497 100644 (file)
@@ -204,7 +204,7 @@ static void action_main_area_draw(const bContext *C, ARegion *ar)
        
        /* preview range */
        UI_view2d_view_ortho(v2d);
-       ANIM_draw_previewrange(C, v2d);
+       ANIM_draw_previewrange(C, v2d, 0);
 
        /* callback */
        UI_view2d_view_ortho(v2d);
index 3f9737b3c5d3ccdf43397c4d01ea18b9191fe7d4..1a208ee2eb6149d3d34c442f3060a5ee3151ff03 100644 (file)
@@ -294,7 +294,7 @@ static void graph_main_area_draw(const bContext *C, ARegion *ar)
        
        /* preview range */
        UI_view2d_view_ortho(v2d);
-       ANIM_draw_previewrange(C, v2d);
+       ANIM_draw_previewrange(C, v2d, 0);
        
        /* callback */
        UI_view2d_view_ortho(v2d);
index b3d8d5d5aadf031a898907e792450f075c071fce..4ef84b3e7084ed5bf8f625e813f30bc47895889d 100644 (file)
@@ -310,7 +310,7 @@ static void nla_main_area_draw(const bContext *C, ARegion *ar)
        
        /* preview range */
        UI_view2d_view_ortho(v2d);
-       ANIM_draw_previewrange(C, v2d);
+       ANIM_draw_previewrange(C, v2d, 0);
        
        /* callback */
        UI_view2d_view_ortho(v2d);
index 3a5d1b9f7e304bd6f9c10d6a6739f59dc212a71d..f84cca900829b13b390314a14068abacc2ba410c 100644 (file)
@@ -1457,7 +1457,7 @@ void draw_timeline_seq(const bContext *C, ARegion *ar)
        
        /* preview range */
        UI_view2d_view_ortho(v2d);
-       ANIM_draw_previewrange(C, v2d);
+       ANIM_draw_previewrange(C, v2d, 1);
 
        /* overlap playhead */
        if (scene->ed && scene->ed->over_flag & SEQ_EDIT_OVERLAY_SHOW) {