diff options
author | Germano Cavalcante <germano.costa@ig.com.br> | 2021-11-18 19:55:17 +0300 |
---|---|---|
committer | Germano Cavalcante <germano.costa@ig.com.br> | 2021-11-18 19:55:17 +0300 |
commit | 717a971035071d36af03d65713408f4da1f69cb3 (patch) | |
tree | 8c76660b209cbcdca5e29109304531f5c1bb6325 /source/blender/windowmanager/intern/wm_operator_utils.c | |
parent | 2a9cfdac7e126e37afb82e15a131717041f3d2f8 (diff) |
Revert "Revert "Revert "Allow navigating while transforming"""
This reverts commit 2a9cfdac7e126e37afb82e15a131717041f3d2f8.
Diffstat (limited to 'source/blender/windowmanager/intern/wm_operator_utils.c')
-rw-r--r-- | source/blender/windowmanager/intern/wm_operator_utils.c | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/source/blender/windowmanager/intern/wm_operator_utils.c b/source/blender/windowmanager/intern/wm_operator_utils.c index 4f4259408d8..85a0a28de79 100644 --- a/source/blender/windowmanager/intern/wm_operator_utils.c +++ b/source/blender/windowmanager/intern/wm_operator_utils.c @@ -21,9 +21,7 @@ */ #include <math.h> -#include <string.h> -#include "BLI_listbase.h" #include "BLI_string.h" #include "BLI_utildefines.h" @@ -37,8 +35,6 @@ #include "WM_api.h" /* Own include. */ #include "WM_types.h" -#include "wm_event_system.h" - #include "MEM_guardedalloc.h" #include "ED_object.h" @@ -362,101 +358,4 @@ void WM_operator_type_modal_from_exec_for_object_edit_coords(wmOperatorType *ot) RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE); } -bool WM_operator_do_navigation(bContext *C, wmOperator *op, const wmEvent *event) -{ - const char *op_names[] = { - /* 3D View. */ - "VIEW3D_OT_zoom", - "VIEW3D_OT_rotate", - "VIEW3D_OT_move", - "VIEW3D_OT_view_pan", - "VIEW3D_OT_dolly", - "VIEW3D_OT_view_orbit", - "VIEW3D_OT_view_roll", -#ifdef WITH_INPUT_NDOF - "VIEW3D_OT_ndof_orbit_zoom", - "VIEW3D_OT_ndof_orbit", - "VIEW3D_OT_ndof_pan", - "VIEW3D_OT_ndof_all", -#endif - /* Image. */ - "IMAGE_OT_view_pan", - "IMAGE_OT_view_zoom_in", - "IMAGE_OT_view_zoom_out", -#ifdef WITH_INPUT_NDOF - "IMAGE_OT_view_ndof", -#endif - /* View2D. */ - "VIEW2D_OT_pan", - "VIEW2D_OT_zoom_in", - "VIEW2D_OT_zoom_out", -#ifdef WITH_INPUT_NDOF - "VIEW2D_OT_ndof", -#endif - }; - - static struct { - wmKeyMapItem *kmi; - wmOperatorType *ot; - } kmi_ot[70]; - static int kmi_ot_len; - - /* Lazy initialization (avoids having to allocating a context). */ - static wmOperatorType *ot_last = NULL; - static char spacetype_last = SPACE_EMPTY; - SpaceLink *sl = CTX_wm_space_data(C); - if ((ot_last != op->type) || (spacetype_last != sl->spacetype)) { - ot_last = op->type; - spacetype_last = sl->spacetype; - - wmWindowManager *wm = CTX_wm_manager(C); - wmKeyMap *km; - if (sl->spacetype == SPACE_VIEW3D) { - km = WM_keymap_find_all(wm, "3D View", SPACE_VIEW3D, 0); - } - else if (sl->spacetype == SPACE_IMAGE) { - km = WM_keymap_find_all(wm, "Image", SPACE_IMAGE, 0); - } - else { - km = WM_keymap_find_all(wm, "View2D", 0, 0); - } - - kmi_ot_len = 0; - LISTBASE_FOREACH (wmKeyMapItem *, kmi, &km->items) { - if (!(STRPREFIX(kmi->idname, "VIEW") || STRPREFIX(kmi->idname, "IMAGE"))) { - continue; - } - if (kmi->flag & KMI_INACTIVE) { - continue; - } - for (int i = 0; i < ARRAY_SIZE(op_names); i++) { - if (STREQ(kmi->idname, op_names[i])) { - kmi_ot[kmi_ot_len].kmi = kmi; - kmi_ot[kmi_ot_len].ot = WM_operatortype_find(op_names[i], true); - kmi_ot_len++; - break; - } - } - if (kmi_ot_len == ARRAY_SIZE(kmi_ot)) { - BLI_assert(false); - break; - } - } - } - - if (event->type == EVT_MODAL_MAP) { - wmWindow *win = CTX_wm_window(C); - event = win->eventstate; - } - - for (int i = 0; i < kmi_ot_len; i++) { - if (wm_eventmatch(event, kmi_ot[i].kmi)) { - return WM_operator_name_call_ptr( - C, kmi_ot[i].ot, WM_OP_INVOKE_DEFAULT, kmi_ot[i].kmi->ptr) != OPERATOR_CANCELLED; - } - } - - return false; -} - /** \} */ |