Keymap: add drag-only generic gizmo keymap

Allows gizmos clicks to fall through for gizmos which only drag,
currently unused.
This commit is contained in:
Campbell Barton
2019-05-29 13:30:15 +10:00
parent 2d8584c15f
commit 63a7ac8930
3 changed files with 39 additions and 2 deletions

View File

@@ -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);

View File

@@ -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";