[Bf-blender-cvs] [d0a16772ad0] master: WM: add macros to check mouse button/gesture/wheel
Campbell Barton
noreply at git.blender.org
Sun Jun 10 12:11:03 CEST 2018
Commit: d0a16772ad08dafa7300795e6c04a90bf94cde4b
Author: Campbell Barton
Date: Sun Jun 10 12:08:09 2018 +0200
Branches: master
https://developer.blender.org/rBd0a16772ad08dafa7300795e6c04a90bf94cde4b
WM: add macros to check mouse button/gesture/wheel
Use to check click/drag,
fixes issue with mouse wheel triggering pie menu.
===================================================================
M source/blender/windowmanager/intern/wm_event_system.c
M source/blender/windowmanager/wm_event_types.h
===================================================================
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index d517fb280d1..951bfb12dd0 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -2274,7 +2274,7 @@ static int wm_handlers_do(bContext *C, wmEvent *event, ListBase *handlers)
}
}
}
- else if (ISMOUSE(event->type) || ISKEYBOARD(event->type)) {
+ else if (ISMOUSE_BUTTON(event->type) || ISKEYBOARD(event->type)) {
/* All events that don't set wmEvent.prevtype must be ignored. */
/* test for CLICK events */
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index 460ff1a1b8d..2e9722b75e3 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -366,6 +366,13 @@ enum {
/* test whether the event is a mouse button */
#define ISMOUSE(event_type) ((event_type) >= LEFTMOUSE && (event_type) <= BUTTON7MOUSE)
+#define ISMOUSE_WHEEL(event_type) ((event_type) >= WHEELUPMOUSE && (event_type) <= WHEELOUTMOUSE)
+#define ISMOUSE_GESTURE(event_type) ((event_type) >= MOUSEPAN && (event_type) <= MOUSEROTATE)
+#define ISMOUSE_BUTTON(event_type) \
+ (ELEM(event_type, \
+ LEFTMOUSE, MIDDLEMOUSE, RIGHTMOUSE, ACTIONMOUSE, SELECTMOUSE, \
+ BUTTON4MOUSE, BUTTON5MOUSE, BUTTON6MOUSE, BUTTON7MOUSE))
+
/* test whether the event is tweak event */
#define ISTWEAK(event_type) ((event_type) >= EVT_TWEAK_L && (event_type) <= EVT_GESTURE)
More information about the Bf-blender-cvs
mailing list