[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [46355] trunk/blender/intern/ghost/intern: disable warping for tablet events (X11 only), added TODO' s for OSX and win32.

Campbell Barton ideasman42 at gmail.com
Sun May 6 17:45:48 CEST 2012


Revision: 46355
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=46355
Author:   campbellbarton
Date:     2012-05-06 15:45:48 +0000 (Sun, 06 May 2012)
Log Message:
-----------
disable warping for tablet events (X11 only), added TODO's for OSX and win32.

Modified Paths:
--------------
    trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
    trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp
    trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2012-05-06 15:40:49 UTC (rev 46354)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemCocoa.mm	2012-05-06 15:45:48 UTC (rev 46355)
@@ -1488,7 +1488,19 @@
 			}
 			
 		case NSMouseMoved:
-				switch (window->getCursorGrabMode()) {
+				GHOST_TGrabCursorMode grab_mode = window->getCursorGrabMode();
+
+				/* TODO: CHECK IF THIS IS A TABLET EVENT */
+				bool is_tablet = false;
+
+				if (is_tablet &&
+				    (grab_mode != GHOST_kGrabDisable) &&
+				    (grab_mode != GHOST_kGrabNormal))
+				{
+					grab_mode = GHOST_kGrabDisable;
+				}
+
+				switch (grab_mode) {
 					case GHOST_kGrabHide: //Cursor hidden grab operation : no cursor move
 					{
 						GHOST_TInt32 x_warp, y_warp, x_accum, y_accum, x, y;

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2012-05-06 15:40:49 UTC (rev 46354)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemWin32.cpp	2012-05-06 15:45:48 UTC (rev 46355)
@@ -649,7 +649,12 @@
 	
 	system->getCursorPosition(x_screen, y_screen);
 
-	if(window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal)
+	/* TODO: CHECK IF THIS IS A TABLET EVENT */
+	bool is_tablet = false;
+
+	if (is_tablet == false &&
+	    window->getCursorGrabMode() != GHOST_kGrabDisable &&
+	    window->getCursorGrabMode() != GHOST_kGrabNormal)
 	{
 		GHOST_TInt32 x_new= x_screen;
 		GHOST_TInt32 y_new= y_screen;

Modified: trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp
===================================================================
--- trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp	2012-05-06 15:40:49 UTC (rev 46354)
+++ trunk/blender/intern/ghost/intern/GHOST_SystemX11.cpp	2012-05-06 15:45:48 UTC (rev 46355)
@@ -471,8 +471,16 @@
 		case MotionNotify:
 		{
 			XMotionEvent &xme = xe->xmotion;
-			
-			if(window->getCursorGrabMode() != GHOST_kGrabDisable && window->getCursorGrabMode() != GHOST_kGrabNormal)
+
+#ifdef WITH_X11_XINPUT
+			bool is_tablet = window->GetXTablet().CommonData.Active != GHOST_kTabletModeNone;
+#else
+			bool is_tablet = false;
+#endif
+
+			if(is_tablet == false &&
+			   window->getCursorGrabMode() != GHOST_kGrabDisable &&
+			   window->getCursorGrabMode() != GHOST_kGrabNormal)
 			{
 				GHOST_TInt32 x_new= xme.x_root;
 				GHOST_TInt32 y_new= xme.y_root;




More information about the Bf-blender-cvs mailing list