[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