From f052fb564605a788378d361e161a3447d30814a6 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Tue, 8 Mar 2022 13:48:34 +1100 Subject: Event System: add ISKEYBOARD_OR_BUTTON macro This simplifies checking for event types that support press & release. --- source/blender/windowmanager/wm_event_types.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'source/blender/windowmanager/wm_event_types.h') 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) || \ -- cgit v1.2.3