[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