[Bf-blender-cvs] [8793d7c] epic-navigation: New "Mouse/Trackpad" Untouch event for trackpads (OSX only for now)

Dalai Felinto noreply at git.blender.org
Fri Oct 31 03:36:55 CET 2014


Commit: 8793d7cdd8439b5a000d7e9a87b483af3c1aadff
Author: Dalai Felinto
Date:   Fri Oct 31 00:15:37 2014 -0200
Branches: epic-navigation
https://developer.blender.org/rB8793d7cdd8439b5a000d7e9a87b483af3c1aadff

New "Mouse/Trackpad" Untouch event for trackpads (OSX only for now)

===================================================================

M	intern/ghost/GHOST_Types.h
M	intern/ghost/intern/GHOST_SystemCocoa.mm
M	source/blender/makesrna/intern/rna_wm.c
M	source/blender/windowmanager/intern/wm_event_system.c
M	source/blender/windowmanager/wm_event_types.h

===================================================================

diff --git a/intern/ghost/GHOST_Types.h b/intern/ghost/GHOST_Types.h
index 7333ba0..7f03abb 100644
--- a/intern/ghost/GHOST_Types.h
+++ b/intern/ghost/GHOST_Types.h
@@ -400,7 +400,8 @@ typedef enum {
 	GHOST_kTrackpadEventScroll,
 	GHOST_kTrackpadEventRotate,
 	GHOST_kTrackpadEventSwipe, /* Reserved, not used for now */
-	GHOST_kTrackpadEventMagnify
+	GHOST_kTrackpadEventMagnify,
+	GHOST_kTrackpadEventUntouch,
 } GHOST_TTrackpadEventSubTypes;
 	
 
diff --git a/intern/ghost/intern/GHOST_SystemCocoa.mm b/intern/ghost/intern/GHOST_SystemCocoa.mm
index cfa1e8b..5dcad1d 100644
--- a/intern/ghost/intern/GHOST_SystemCocoa.mm
+++ b/intern/ghost/intern/GHOST_SystemCocoa.mm
@@ -1372,6 +1372,8 @@ GHOST_TSuccess GHOST_SystemCocoa::handleMouseEvent(void *eventPtr)
 			break;
 		case NSEventTypeEndGesture:
 			m_hasMultiTouchTrackpad = 0;
+			pushEvent(new GHOST_EventTrackpad([event timestamp] * 1000, window, GHOST_kTrackpadEventUntouch, 0, 0,
+			                                  0, 0));
 			break;
 			
 		case NSScrollWheel:
diff --git a/source/blender/makesrna/intern/rna_wm.c b/source/blender/makesrna/intern/rna_wm.c
index 3c39308..8ca97be 100644
--- a/source/blender/makesrna/intern/rna_wm.c
+++ b/source/blender/makesrna/intern/rna_wm.c
@@ -90,6 +90,7 @@ static EnumPropertyItem event_mouse_type_items[] = {
 	{MOUSEPAN, "TRACKPADPAN", 0, "Mouse/Trackpad Pan", ""},
 	{MOUSEZOOM, "TRACKPADZOOM", 0, "Mouse/Trackpad Zoom", ""},
 	{MOUSEROTATE, "MOUSEROTATE", 0, "Mouse/Trackpad Rotate", ""},
+	{MOUSEUNTOUCH, "TRACKPADUNTOUCH", 0, "Mouse/Trackpad Untouch", ""},
 	{0, "", 0, NULL, NULL},
 	{WHEELUPMOUSE, "WHEELUPMOUSE", 0, "Wheel Up", ""},
 	{WHEELDOWNMOUSE, "WHEELDOWNMOUSE", 0, "Wheel Down", ""},
@@ -185,6 +186,7 @@ EnumPropertyItem event_type_items[] = {
 	{MOUSEPAN, "TRACKPADPAN", 0, "Mouse/Trackpad Pan", ""},
 	{MOUSEZOOM, "TRACKPADZOOM", 0, "Mouse/Trackpad Zoom", ""},
 	{MOUSEROTATE, "MOUSEROTATE", 0, "Mouse/Trackpad Rotate", ""},
+	{MOUSEUNTOUCH, "TRACKPADUNTOUCH", 0, "Mouse/Trackpad Untouch", ""},
 	{0, "", 0, NULL, NULL},
 	{WHEELUPMOUSE, "WHEELUPMOUSE", 0, "Wheel Up", ""},
 	{WHEELDOWNMOUSE, "WHEELDOWNMOUSE", 0, "Wheel Down", ""},
diff --git a/source/blender/windowmanager/intern/wm_event_system.c b/source/blender/windowmanager/intern/wm_event_system.c
index 793908e..7e29ad9 100644
--- a/source/blender/windowmanager/intern/wm_event_system.c
+++ b/source/blender/windowmanager/intern/wm_event_system.c
@@ -3094,6 +3094,9 @@ void wm_event_add_ghostevent(wmWindowManager *wm, wmWindow *win, int type, int U
 				case GHOST_kTrackpadEventRotate:
 					event.type = MOUSEROTATE;
 					break;
+				case GHOST_kTrackpadEventUntouch:
+					event.type = MOUSEUNTOUCH;
+					break;
 				case GHOST_kTrackpadEventScroll:
 				default:
 					event.type = MOUSEPAN;
diff --git a/source/blender/windowmanager/wm_event_types.h b/source/blender/windowmanager/wm_event_types.h
index fe6d343..dbfd109 100644
--- a/source/blender/windowmanager/wm_event_types.h
+++ b/source/blender/windowmanager/wm_event_types.h
@@ -75,6 +75,7 @@ enum {
 	MOUSEPAN            = 0x000e,
 	MOUSEZOOM           = 0x000f,
 	MOUSEROTATE         = 0x0010,
+	MOUSEUNTOUCH        = 0x0014,
 	/* defaults from ghost */
 	WHEELUPMOUSE        = 0x000a,
 	WHEELDOWNMOUSE      = 0x000b,
@@ -347,7 +348,7 @@ enum {
 #define ISKEYMODIFIER(event_type)  ((event_type >= LEFTCTRLKEY && event_type <= LEFTSHIFTKEY) || event_type == OSKEY)
 
 /* test whether the event is a mouse button */
-#define ISMOUSE(event_type)  (event_type >= LEFTMOUSE && event_type <= BUTTON7MOUSE)
+#define ISMOUSE(event_type)  (event_type >= LEFTMOUSE && event_type <= MOUSEUNTOUCH)
 
 /* 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