[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [53379] trunk/blender/intern/ghost/intern: Testing commit for OS X trackpad and scroll events.

Ton Roosendaal ton at blender.org
Fri Dec 28 20:10:21 CET 2012


Revision: 53379
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=53379
Author:   ton
Date:     2012-12-28 19:10:21 +0000 (Fri, 28 Dec 2012)
Log Message:
-----------
Testing commit for OS X trackpad and scroll events.

Now:
- code is wrapped for OS X releases (10.6 and 10.7)
- It now detects scrollwheel (old mouse) and gesture strokes (mighty mouse or trackpad).

If you have 10.6, things will work as for release. 

Next todo for tomorrow: make trackpad work actually smooth and not with steps.
Will also try to figure out the device type, to handle mighty mouse differently.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
    trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2012-12-28 18:21:07 UTC (rev 53378)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2012-12-28 19:10:21 UTC (rev 53379)
@@ -1577,9 +1577,21 @@
 			}
 			break;
 			
+		case NSEventTypeBeginGesture:
+			m_hasMultiTouchTrackpad = true;
+			break;
+		case NSEventTypeEndGesture:
+			m_hasMultiTouchTrackpad = false;
+			break;
+			
 		case NSScrollWheel:
 			{
-				if (!m_hasMultiTouchTrackpad) {
+				int momentum = 0;
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
+				momentum = [event momentumPhase];
+#endif
+				
+				if (!m_hasMultiTouchTrackpad && momentum==0) {
 					GHOST_TInt32 delta;
 					
 					double deltaF = [event deltaY];

Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	2012-12-28 18:21:07 UTC (rev 53378)
+++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	2012-12-28 19:10:21 UTC (rev 53379)
@@ -595,6 +595,11 @@
 	
 	[m_window setAcceptsMouseMovedEvents:YES];
 	
+#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
+	NSView *view = [m_window contentView];
+	[view setAcceptsTouchEvents:YES];
+#endif
+	
 	[m_window registerForDraggedTypes:[NSArray arrayWithObjects:NSFilenamesPboardType,
 										  NSStringPboardType, NSTIFFPboardType, nil]];
 										  




More information about the Bf-blender-cvs mailing list