diff options
author | Luca Rood <dev@lucarood.com> | 2017-02-09 03:45:32 +0300 |
---|---|---|
committer | Luca Rood <dev@lucarood.com> | 2017-02-15 22:10:19 +0300 |
commit | 10d2ee6287e683811067551ed96557a23754c835 (patch) | |
tree | 545348fc8f77b86062c3def39a777174e6e109d4 | |
parent | 45bebbf5ad0190e6468ce12fe7c08b4e1439bd47 (diff) |
Remove redundant draw call (sequencer)
`SEQUENCER_OT_slip` was calling `draw_sequence_extensions` to redraw the
extensions during modal operation, but that is redundant, as it is
already called by the regular draw loop. Because it was called on top of
the draw loop, it was actually obscuring other parts of the strip that
would normally be drawn on top of it.
Somewhat part of 49043
3 files changed, 1 insertions, 25 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_draw.c b/source/blender/editors/space_sequencer/sequencer_draw.c index b4cc1123176..09629b99e15 100644 --- a/source/blender/editors/space_sequencer/sequencer_draw.c +++ b/source/blender/editors/space_sequencer/sequencer_draw.c @@ -643,7 +643,7 @@ void draw_shadedstrip(Sequence *seq, unsigned char col[3], float x1, float y1, f } } -void draw_sequence_extensions(Scene *scene, ARegion *ar, Sequence *seq) +static void draw_sequence_extensions(Scene *scene, ARegion *ar, Sequence *seq) { float x1, x2, y1, y2, pixely, a; unsigned char col[3], blendcol[3]; diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index 8ae89941bdb..8963eb760ce 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -1256,7 +1256,6 @@ typedef struct SlipData { int num_seq; bool slow; int slow_offset; /* offset at the point where offset was turned on */ - void *draw_handle; NumInput num_input; } SlipData; @@ -1291,21 +1290,6 @@ static void transseq_restore(TransSeq *ts, Sequence *seq) seq->len = ts->len; } -static void draw_slip_extensions(const bContext *C, ARegion *ar, void *data) -{ - Scene *scene = CTX_data_scene(C); - SlipData *td = data; - int i; - - for (i = 0; i < td->num_seq; i++) { - Sequence *seq = td->seq_array[i]; - - if ((seq->type != SEQ_TYPE_META) && td->trim[i]) { - draw_sequence_extensions(scene, ar, seq); - } - } -} - static int slip_add_sequences_rec(ListBase *seqbasep, Sequence **seq_array, bool *trim, int offset, bool do_trim) { Sequence *seq; @@ -1354,7 +1338,6 @@ static int sequencer_slip_invoke(bContext *C, wmOperator *op, const wmEvent *eve SlipData *data; Scene *scene = CTX_data_scene(C); Editing *ed = BKE_sequencer_editing_get(scene, false); - ARegion *ar = CTX_wm_region(C); float mouseloc[2]; int num_seq, i; View2D *v2d = UI_view2d_fromcontext(C); @@ -1384,8 +1367,6 @@ static int sequencer_slip_invoke(bContext *C, wmOperator *op, const wmEvent *eve transseq_backup(data->ts + i, data->seq_array[i]); } - data->draw_handle = ED_region_draw_cb_activate(ar->type, draw_slip_extensions, data, REGION_DRAW_POST_VIEW); - UI_view2d_region_to_view(v2d, event->mval[0], event->mval[1], &mouseloc[0], &mouseloc[1]); copy_v2_v2_int(data->init_mouse, event->mval); @@ -1527,7 +1508,6 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even Scene *scene = CTX_data_scene(C); SlipData *data = (SlipData *)op->customdata; ScrArea *sa = CTX_wm_area(C); - ARegion *ar = CTX_wm_region(C); const bool has_numInput = hasNumInput(&data->num_input); bool handled = true; @@ -1585,7 +1565,6 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even case RETKEY: case SPACEKEY: { - ED_region_draw_cb_exit(ar->type, data->draw_handle); MEM_freeN(data->seq_array); MEM_freeN(data->trim); MEM_freeN(data->ts); @@ -1614,8 +1593,6 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even BKE_sequence_calc(scene, seq); } - ED_region_draw_cb_exit(ar->type, data->draw_handle); - MEM_freeN(data->seq_array); MEM_freeN(data->ts); MEM_freeN(data->trim); diff --git a/source/blender/editors/space_sequencer/sequencer_intern.h b/source/blender/editors/space_sequencer/sequencer_intern.h index 730cc117287..d9e3fd120d6 100644 --- a/source/blender/editors/space_sequencer/sequencer_intern.h +++ b/source/blender/editors/space_sequencer/sequencer_intern.h @@ -57,7 +57,6 @@ void draw_timeline_seq(const struct bContext *C, struct ARegion *ar); void draw_image_seq(const struct bContext *C, struct Scene *scene, struct ARegion *ar, struct SpaceSeq *sseq, int cfra, int offset, bool draw_overlay, bool draw_backdrop); void color3ubv_from_seq(struct Scene *curscene, struct Sequence *seq, unsigned char col[3]); void draw_shadedstrip(struct Sequence *seq, unsigned char col[3], float x1, float y1, float x2, float y2); -void draw_sequence_extensions(struct Scene *scene, struct ARegion *ar, struct Sequence *seq); void sequencer_special_update_set(Sequence *seq); |