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 <campbell@blender.org>2022-03-08 05:48:34 +0300
committerCampbell Barton <campbell@blender.org>2022-03-08 05:48:34 +0300
commitf052fb564605a788378d361e161a3447d30814a6 (patch)
tree7da1e1fe181e35f571261328a72976c72734e29a /source/blender/windowmanager/wm_event_types.h
parent08d8eee006f7e2a7ac05ef691bbaee230cbfbe5a (diff)
Event System: add ISKEYBOARD_OR_BUTTON macro
This simplifies checking for event types that support press & release.
Diffstat (limited to 'source/blender/windowmanager/wm_event_types.h')
-rw-r--r--source/blender/windowmanager/wm_event_types.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index 578663b6fe8..fd0760d1d1c 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -363,6 +363,16 @@ enum {
(((event_type) >= _EVT_KEYBOARD_MIN && (event_type) <= _EVT_KEYBOARD_MAX) || \
((event_type) >= EVT_F1KEY && (event_type) <= EVT_F24KEY))
+/**
+ * Test whether the event is a key on the keyboard
+ * or any other kind of button that supports press & release
+ * (use for click & click-drag detection).
+ *
+ * \note Mouse wheel events are excluded from this macro, while they do generate press events it
+ * doesn't make sense to have click & click-drag events for a mouse-wheel as it can't be held down.
+ */
+#define ISKEYBOARD_OR_BUTTON(event_type) (ISMOUSE_BUTTON(event_type) || ISKEYBOARD(event_type))
+
/** Test whether the event is a modifier key. */
#define ISKEYMODIFIER(event_type) \
(((event_type) >= EVT_LEFTCTRLKEY && (event_type) <= EVT_LEFTSHIFTKEY) || \