diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-08-12 05:07:31 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-08-12 05:07:31 +0400 |
commit | 9cce2d864554cb78abfb5e2909dfb1a506933d3c (patch) | |
tree | 57f1037cb16ce26791f4bb1cd5fb0a88293d8af9 /source/blender/editors/space_sequencer | |
parent | 1aaaf67a9e42cfbba6d8c955a9e0a7519b296933 (diff) |
smooth-view for 2d views, graph editor, sequencer, node view, works with border zoom, view selected, view all.
Diffstat (limited to 'source/blender/editors/space_sequencer')
-rw-r--r-- | source/blender/editors/space_sequencer/sequencer_edit.c | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/source/blender/editors/space_sequencer/sequencer_edit.c b/source/blender/editors/space_sequencer/sequencer_edit.c index b4832306daf..9e730fff940 100644 --- a/source/blender/editors/space_sequencer/sequencer_edit.c +++ b/source/blender/editors/space_sequencer/sequencer_edit.c @@ -2042,17 +2042,10 @@ void SEQUENCER_OT_meta_separate(wmOperatorType *ot) /* view_all operator */ static int sequencer_view_all_exec(bContext *C, wmOperator *UNUSED(op)) { - //Scene *scene= CTX_data_scene(C); - bScreen *sc = CTX_wm_screen(C); - ScrArea *area = CTX_wm_area(C); - //ARegion *ar= CTX_wm_region(C); + ARegion *ar = CTX_wm_region(C); View2D *v2d = UI_view2d_fromcontext(C); - v2d->cur = v2d->tot; - UI_view2d_curRect_validate(v2d); - UI_view2d_sync(sc, area, v2d, V2D_LOCK_COPY); - - ED_area_tag_redraw(CTX_wm_area(C)); + UI_view2d_smooth_view(C, ar, &v2d->tot); return OPERATOR_FINISHED; } @@ -2218,10 +2211,10 @@ static int sequencer_view_selected_exec(bContext *C, wmOperator *UNUSED(op)) { Scene *scene = CTX_data_scene(C); View2D *v2d = UI_view2d_fromcontext(C); - ScrArea *area = CTX_wm_area(C); - bScreen *sc = CTX_wm_screen(C); + ARegion *ar = CTX_wm_region(C); Editing *ed = BKE_sequencer_editing_get(scene, FALSE); Sequence *seq; + rctf cur_new = v2d->cur; int xmin = MAXFRAME * 2; int xmax = -MAXFRAME * 2; @@ -2252,29 +2245,30 @@ static int sequencer_view_selected_exec(bContext *C, wmOperator *UNUSED(op)) ymax += ymargin; ymin -= ymargin; - orig_height = v2d->cur.ymax - v2d->cur.ymin; + orig_height = cur_new.ymax - cur_new.ymin; - v2d->cur.xmin = xmin; - v2d->cur.xmax = xmax; + cur_new.xmin = xmin; + cur_new.xmax = xmax; - v2d->cur.ymin = ymin; - v2d->cur.ymax = ymax; + cur_new.ymin = ymin; + cur_new.ymax = ymax; /* only zoom out vertically */ - if (orig_height > v2d->cur.ymax - v2d->cur.ymin) { - ymid = (v2d->cur.ymax + v2d->cur.ymin) / 2; + if (orig_height > cur_new.ymax - cur_new.ymin) { + ymid = (cur_new.ymax + cur_new.ymin) / 2; - v2d->cur.ymin = ymid - (orig_height / 2); - v2d->cur.ymax = ymid + (orig_height / 2); + cur_new.ymin = ymid - (orig_height / 2); + cur_new.ymax = ymid + (orig_height / 2); } - UI_view2d_curRect_validate(v2d); - UI_view2d_sync(sc, area, v2d, V2D_LOCK_COPY); + UI_view2d_smooth_view(C, ar, &cur_new); - ED_area_tag_redraw(CTX_wm_area(C)); + return OPERATOR_FINISHED; + } + else { + return OPERATOR_CANCELLED; } - return OPERATOR_FINISHED; } void SEQUENCER_OT_view_selected(wmOperatorType *ot) |