Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2012-08-12 05:07:31 +0400
committerCampbell Barton <ideasman42@gmail.com>2012-08-12 05:07:31 +0400
commit9cce2d864554cb78abfb5e2909dfb1a506933d3c (patch)
tree57f1037cb16ce26791f4bb1cd5fb0a88293d8af9 /source/blender/editors/space_sequencer
parent1aaaf67a9e42cfbba6d8c955a9e0a7519b296933 (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.c42
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)