diff options
author | Luc Devallonne <luc.devallonne@mnemis.com> | 2009-07-10 08:10:02 (GMT) |
---|---|---|
committer | Norwegian Rock Cat <qt-info@nokia.com> | 2009-07-10 08:10:02 (GMT) |
commit | 64b485855637ef4fa31d3a4efca694db888ae612 (patch) | |
tree | f2bbf2a9bf6ede59f3ee26b61ea6d024edab260b /src/gui/kernel/qapplication_win.cpp | |
parent | 5c11a5a38bcc68c17da8fe59e8db03d43ea55ac1 (diff) | |
download | Qt-64b485855637ef4fa31d3a4efca694db888ae612.zip Qt-64b485855637ef4fa31d3a4efca694db888ae612.tar.gz Qt-64b485855637ef4fa31d3a4efca694db888ae612.tar.bz2 |
Support Tablet coordinate on Windows with non-zero physical origin
Most Wacom tablet have a coordinate origin at 0 (Bamboo,Intous), but
some tablet (like DTF 720, which have an integrated screen) have a non
zero coordinate origin. Which lead to an errounous y/a tablet pos
reported by Qt tablet event.
Merge-request: 822
Reviewed-by: Norwegian Rock Cat <qt-info@nokia.com>
Diffstat (limited to 'src/gui/kernel/qapplication_win.cpp')
-rw-r--r-- | src/gui/kernel/qapplication_win.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/src/gui/kernel/qapplication_win.cpp b/src/gui/kernel/qapplication_win.cpp index e0eda82..e26d82e 100644 --- a/src/gui/kernel/qapplication_win.cpp +++ b/src/gui/kernel/qapplication_win.cpp @@ -3324,17 +3324,19 @@ static void tabletInit(UINT wActiveCsr, HCTX hTab) tdd.minTanPressure = int(np.axMin); tdd.maxTanPressure = int(np.axMax); - ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_X, &np); - tdd.minX = int(np.axMin); - tdd.maxX = int(np.axMax); + LOGCONTEXT lcMine; - ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_Y, &np); - tdd.minY = int(np.axMin); - tdd.maxY = int(np.axMax); + /* get default region */ + ptrWTInfo(WTI_DEFCONTEXT, 0, &lcMine); - ptrWTInfo(WTI_DEVICES + lc.lcDevice, DVC_Z, &np); - tdd.minZ = int(np.axMin); - tdd.maxZ = int(np.axMax); + tdd.minX = 0; + tdd.maxX = int(lcMine.lcInExtX) - int(lcMine.lcInOrgX); + + tdd.minY = 0; + tdd.maxY = int(lcMine.lcInExtY) - int(lcMine.lcInOrgY); + + tdd.minZ = 0; + tdd.maxZ = int(lcMine.lcInExtZ) - int(lcMine.lcInOrgZ); int csr_type, csr_physid; |