[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