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>2019-05-29 06:30:15 +0300
committerCampbell Barton <ideasman42@gmail.com>2019-05-29 07:30:25 +0300
commit63a7ac893009eefdecc81944e8a6bfc566035bf4 (patch)
tree58710ef4517c52ac489696d952c50c32b09c4a87 /source/blender/windowmanager
parent2d8584c15ff76ada379553c235a8ec38f6681645 (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/windowmanager')
-rw-r--r--source/blender/windowmanager/gizmo/WM_gizmo_api.h6
-rw-r--r--source/blender/windowmanager/gizmo/intern/wm_gizmo_group.c15
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";