From c27123632bb4e40a36785dea148dcf0a00dce019 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 12 Aug 2020 12:36:19 +0200 Subject: View2D: Centralize handling of changes to v2d->cur Currently there are no functional changes, preparing code to add more functionality which is to be run from navigation/zoom operators. --- source/blender/editors/interface/view2d.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/editors/interface/view2d.c') diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 3efed43e08c..9d029f3292f 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -853,6 +853,11 @@ void UI_view2d_curRect_validate(View2D *v2d) ui_view2d_curRect_validate_resize(v2d, false); } +void UI_view2d_curRect_changed(const bContext *UNUSED(C), View2D *v2d) +{ + UI_view2d_curRect_validate(v2d); +} + /* ------------------ */ /* Called by menus to activate it, or by view2d operators -- cgit v1.2.3 From 0df28e8c2044ece017c0a283625aba058c7ff5be Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 12 Aug 2020 12:12:29 +0200 Subject: View2D: Inform region type on current view changes Allows to hook per-space code which is to be run on view navigation. This is required to have zoom-to-fit implemented in the sequencer. There might be more cases where the clalback is to be called from, but it could be easier to address those on the case-by-case basis when its needed. --- source/blender/editors/interface/view2d.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'source/blender/editors/interface/view2d.c') diff --git a/source/blender/editors/interface/view2d.c b/source/blender/editors/interface/view2d.c index 9d029f3292f..f15a95880f8 100644 --- a/source/blender/editors/interface/view2d.c +++ b/source/blender/editors/interface/view2d.c @@ -853,9 +853,15 @@ void UI_view2d_curRect_validate(View2D *v2d) ui_view2d_curRect_validate_resize(v2d, false); } -void UI_view2d_curRect_changed(const bContext *UNUSED(C), View2D *v2d) +void UI_view2d_curRect_changed(const bContext *C, View2D *v2d) { UI_view2d_curRect_validate(v2d); + + ARegion *region = CTX_wm_region(C); + + if (region->type->on_view2d_changed != NULL) { + region->type->on_view2d_changed(C, region); + } } /* ------------------ */ -- cgit v1.2.3