diff options
author | Campbell Barton <ideasman42@gmail.com> | 2019-05-29 06:30:15 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2019-05-29 07:30:25 +0300 |
commit | 63a7ac893009eefdecc81944e8a6bfc566035bf4 (patch) | |
tree | 58710ef4517c52ac489696d952c50c32b09c4a87 /source/blender | |
parent | 2d8584c15ff76ada379553c235a8ec38f6681645 (diff) |
Keymap: add drag-only generic gizmo keymap
Allows gizmos clicks to fall through for gizmos which only drag,
currently unused.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/windowmanager/gizmo/WM_gizmo_api.h | 6 | ||||
-rw-r--r-- | source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c | 15 |
2 files changed, 21 insertions, 0 deletions
diff --git a/source/blender/windowmanager/gizmo/WM_gizmo_api.h b/source/blender/windowmanager/gizmo/WM_gizmo_api.h index ea6fcee2299..7aaf7da9a5b 100644 --- a/source/blender/windowmanager/gizmo/WM_gizmo_api.h +++ b/source/blender/windowmanager/gizmo/WM_gizmo_api.h @@ -240,6 +240,9 @@ struct wmKeyMap *WM_gizmogroup_keymap_generic(const struct wmGizmoGroupType *gzg struct wmKeyConfig *kc); struct wmKeyMap *WM_gizmogroup_keymap_generic_select(const struct wmGizmoGroupType *gzgt, struct wmKeyConfig *kc); +struct wmKeyMap *WM_gizmogroup_keymap_generic_drag(const struct wmGizmoGroupType *gzgt, + struct wmKeyConfig *kc); + /* Utility functions (not callbacks). */ struct wmKeyMap *WM_gizmo_keymap_generic_with_keyconfig(struct wmKeyConfig *kc); struct wmKeyMap *WM_gizmo_keymap_generic(struct wmWindowManager *wm); @@ -247,6 +250,9 @@ struct wmKeyMap *WM_gizmo_keymap_generic(struct wmWindowManager *wm); struct wmKeyMap *WM_gizmo_keymap_generic_select_with_keyconfig(struct wmKeyConfig *kc); struct wmKeyMap *WM_gizmo_keymap_generic_select(struct wmWindowManager *wm); +struct wmKeyMap *WM_gizmo_keymap_generic_drag_with_keyconfig(struct wmKeyConfig *kc); +struct wmKeyMap *WM_gizmo_keymap_generic_drag(struct wmWindowManager *wm); + struct wmKeyMap *WM_gizmo_keymap_generic_click_drag_with_keyconfig(struct wmKeyConfig *kc); struct wmKeyMap *WM_gizmo_keymap_generic_click_drag(struct wmWindowManager *wm); diff --git a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c index c88fb9fb228..75c2c40a6c4 100644 --- a/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c +++ b/source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c @@ -656,6 +656,11 @@ wmKeyMap *WM_gizmogroup_keymap_generic(const wmGizmoGroupType *UNUSED(gzgt), wmK return WM_gizmo_keymap_generic_with_keyconfig(kc); } +wmKeyMap *WM_gizmogroup_keymap_generic_drag(const wmGizmoGroupType *UNUSED(gzgt), wmKeyConfig *kc) +{ + return WM_gizmo_keymap_generic_drag_with_keyconfig(kc); +} + /** * Variation of #WM_gizmogroup_keymap_common but with keymap items for selection * @@ -741,6 +746,16 @@ struct wmKeyMap *WM_gizmo_keymap_generic_select(wmWindowManager *wm) return WM_gizmo_keymap_generic_select_with_keyconfig(wm->defaultconf); } +struct wmKeyMap *WM_gizmo_keymap_generic_drag_with_keyconfig(wmKeyConfig *kc) +{ + const char *idname = "Generic Gizmo Drag"; + return WM_keymap_ensure(kc, idname, SPACE_EMPTY, RGN_TYPE_WINDOW); +} +struct wmKeyMap *WM_gizmo_keymap_generic_drag(wmWindowManager *wm) +{ + return WM_gizmo_keymap_generic_click_drag_with_keyconfig(wm->defaultconf); +} + struct wmKeyMap *WM_gizmo_keymap_generic_click_drag_with_keyconfig(wmKeyConfig *kc) { const char *idname = "Generic Gizmo Click Drag"; |