diff options
author | pingc <pingc> | 2008-01-10 01:41:58 +0000 |
---|---|---|
committer | pingc <pingc> | 2008-01-10 01:41:58 +0000 |
commit | b15f8391dcecc3235a2f8048b1ffc38d64bda289 (patch) | |
tree | 2e24939610cd24927c3367cfe70fa230938c59ef | |
parent | fd096dab9c3dc345a1e1f24200bfb208fcfccf77 (diff) | |
download | xf86-input-wacom-release-0.7.9-6.tar.gz |
Updated configure scripts for Xorg 7.3 supportrelease-0.7.9-6
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/wacomxi/Makefile.am | 2 | ||||
-rwxr-xr-x | src/xdrv/wcmCommon.c | 49 | ||||
-rwxr-xr-x | src/xdrv/xf86Wacom.c | 19 |
4 files changed, 38 insertions, 35 deletions
@@ -1,3 +1,6 @@ +2008-01-10 Ping Cheng <pingc@wacom.com> + * Label 0.7.9-6 + 2008-01-02 Ping Cheng <pingc@wacom.com> * Updated build and configure scripts (Magnus Vigerlöf) * Support Xorg 7.3 with multimonitors diff --git a/src/wacomxi/Makefile.am b/src/wacomxi/Makefile.am index 8d4c714..72cf866 100644 --- a/src/wacomxi/Makefile.am +++ b/src/wacomxi/Makefile.am @@ -14,4 +14,4 @@ EXTRA_DIST = wacomcpl-exec # Source dependencies libwacomxi_la_SOURCES = wacomxi.c wacomxi.h libwacomxi_la_LDFLAGS = -no-undefined -libwacomxi_la_LIBADD = $(libdir) +libwacomxi_la_LIBADD = @WCM_WACOMXI_LIBS@ diff --git a/src/xdrv/wcmCommon.c b/src/xdrv/wcmCommon.c index faf4710..535807d 100755 --- a/src/xdrv/wcmCommon.c +++ b/src/xdrv/wcmCommon.c @@ -70,6 +70,23 @@ void xf86WcmMappingFactor(LocalDevicePtr local) priv->sizeY = priv->bottomY - priv->topY - 2*priv->tvoffsetY; priv->maxWidth = 0, priv->maxHeight = 0; + if (priv->screen_no != -1) + priv->currentScreen = priv->screen_no; + else if (priv->currentScreen == -1) + { + /* Get the current screen that the cursor is in */ +#if defined WCM_XFREE86 || GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 + if (miPointerCurrentScreen()) + priv->currentScreen = miPointerCurrentScreen()->myNum; +#else + if (miPointerGetScreen(local->dev)) + priv->currentScreen = miPointerGetScreen(local->dev)->myNum; +#endif + + } + if (priv->currentScreen == -1) /* tool on the tablet */ + priv->currentScreen = 0; + if ( ((priv->twinview != TV_NONE) || /* TwinView & whole desktop */ /* stay in one screen at a time (multimonitor) */ !priv->common->wcmMMonitor || @@ -87,7 +104,11 @@ void xf86WcmMappingFactor(LocalDevicePtr local) /* count the whole desktop when no specific screen is defined or * tool is in relative mode */ - for (i = 0; i < priv->numScreen; i++) + minX = priv->screenTopX[0]; + minY = priv->screenTopY[0]; + maxX = priv->screenBottomX[0]; + maxY = priv->screenBottomY[0]; + for (i = 1; i < priv->numScreen; i++) { if (priv->screenTopX[i] < minX) minX = priv->screenTopX[i]; @@ -131,22 +152,6 @@ static void xf86WcmSetScreen(LocalDevicePtr local, int *value0, int *value1) if (!(local->flags & (XI86_ALWAYS_CORE | XI86_CORE_POINTER))) return; - if (priv->screen_no != -1) - priv->currentScreen = priv->screen_no; - else if (priv->currentScreen == -1) - { - /* Get the current screen that the cursor is in */ -#if defined WCM_XFREE86 || GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 0 - if (miPointerCurrentScreen()) - priv->currentScreen = miPointerCurrentScreen()->myNum; -#else - if (miPointerGetScreen(local->dev)) - priv->currentScreen = miPointerGetScreen(local->dev)->myNum; -#endif - - } else if (priv->currentScreen == -1) /* tool on the tablet */ - priv->currentScreen = 0; - if (priv->twinview != TV_NONE && priv->screen_no == -1 && (priv->flags & ABSOLUTE_FLAG)) { if (priv->twinview == TV_LEFT_RIGHT) @@ -169,10 +174,8 @@ static void xf86WcmSetScreen(LocalDevicePtr local, int *value0, int *value1) if (!(priv->flags & ABSOLUTE_FLAG) || screenInfo.numScreens == 1 || !priv->common->wcmMMonitor) return; - v0 = v0 > priv->bottomX ? priv->bottomX - priv->topX : - v0 < priv->topX ? 0 : v0 - priv->topX; - v1 = v1 > priv->bottomY ? priv->bottomY - priv->topY : - v1 < priv->topY ? 0 : v1 - priv->topY; + v0 = v0 - priv->topX; + v1 = v1 - priv->topY; if (priv->screen_no == -1) { @@ -879,7 +882,7 @@ void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) x, y, z, v3, v4, v5, id, serial, is_button ? "true" : "false", buttons)); - if (x > priv->bottomX) +/* if (x > priv->bottomX) x = priv->bottomX; if (x < priv->topX) x = priv->topX; @@ -887,7 +890,7 @@ void xf86WcmSendEvents(LocalDevicePtr local, const WacomDeviceState* ds) y = priv->bottomY; if (y < priv->topY) y = priv->topY; - priv->currentX = x; +*/ priv->currentX = x; priv->currentY = y; /* update the old records */ diff --git a/src/xdrv/xf86Wacom.c b/src/xdrv/xf86Wacom.c index 32cf6ea..3a60a31 100755 --- a/src/xdrv/xf86Wacom.c +++ b/src/xdrv/xf86Wacom.c @@ -60,9 +60,10 @@ * 2007-11-21 47-pc0.7.9-3 - Updated TwinView screen switch offset * 2007-12-07 47-pc0.7.9-4 - Support Cintiq 12WX and Bamboo * 2007-12-20 47-pc0.7.9-5 - multimonitor support update + * 2008-01-08 47-pc0.7.9-6 - Configure script change for Xorg 7.3 support */ -static const char identification[] = "$Identification: 47-0.7.9-5 $"; +static const char identification[] = "$Identification: 47-0.7.9-6 $"; /****************************************************************************/ @@ -248,13 +249,13 @@ void xf86WcmInitialCoordinates(LocalDevicePtr local, int axes) tabletSize = priv->bottomX - priv->topX; } if (priv->flags & ABSOLUTE_FLAG) - topx = priv->topX; + topx = priv->topX - priv->tvoffsetX; resolution = common->wcmResolX; #if defined WCM_XORG && GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 0 /* Ugly hack for Xorg 7.3, which doesn't call xf86WcmDevConvert * for coordinate conversion at the moment */ - if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topx - priv->tvoffsetX; + if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topx; topx = 0; tabletSize = (int)((double)tabletSize * priv->factorX + 0.5); resolution = (int)((double)resolution * priv->factorX + 0.5); @@ -275,13 +276,13 @@ void xf86WcmInitialCoordinates(LocalDevicePtr local, int axes) tabletSize = priv->bottomY - priv->topY; } if (priv->flags & ABSOLUTE_FLAG) - topy = priv->topY; + topy = priv->topY - priv->tvoffsetY; resolution = common->wcmResolY; #if defined WCM_XORG && GET_ABI_MAJOR(ABI_XINPUT_VERSION) > 0 /* Ugly hack for Xorg 7.3, which doesn't call xf86WcmDevConvert * for coordinate conversion at the moment */ - if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topy - priv->tvoffsetY; + if (priv->flags & ABSOLUTE_FLAG) tabletSize -= topy; topy = 0; tabletSize = (int)((double)tabletSize * priv->factorY + 0.5); resolution = (int)((double)resolution * priv->factorY + 0.5); @@ -869,12 +870,8 @@ static Bool xf86WcmDevConvert(LocalDevicePtr local, int first, int num, if (priv->flags & ABSOLUTE_FLAG) { - v0 = v0 > priv->bottomX - priv->tvoffsetX ? priv->sizeX : - v0 < priv->topX + priv->tvoffsetX ? - 0 : v0 - priv->topX - priv->tvoffsetX; - v1 = v1 > priv->bottomY - priv->tvoffsetY ? priv->sizeY : - v1 < priv->topY + priv->tvoffsetY ? - 0 : v1 - priv->topY - priv->tvoffsetY; + v0 = v0 - priv->topX - priv->tvoffsetX; + v1 = v1 - priv->topY - priv->tvoffsetY; int leftPadding = 0; int topPadding = 0; |