winex11/wintab: Fix values for lcSys* and lcOut*.
commit578d26f826ca863d10e5905f220c49bbccaf99e3
authorJohn Chadwick <john@jchw.io>
Mon, 25 Nov 2019 07:03:00 +0000 (24 23:03 -0800)
committerAlexandre Julliard <julliard@winehq.org>
Mon, 25 Nov 2019 19:47:43 +0000 (25 20:47 +0100)
tree7aa49d17b5514f22837eb9741d9df4fff847466b
parent602eb52ce9bdd1962fe1690a5fc40642144a8e06
winex11/wintab: Fix values for lcSys* and lcOut*.

Testing using the Wacom wintab32 (from driver version 6.3.37-3) on
Windows 10, it appears that the values for lcOut* were likely
accidentally mixed up with the values for lcSys*. The lcSys* values are,
according to the documentation, supposed to specify the extent of the
screen mapping area for the cursor, wheras lcOut* simply specifies the
output coordinate space for the given context. There is no logical
reason I'm aware of for why lcOut* would have different default values
from lcIn*, and in testing Wacom wintab32 defaults lcOut* to match
lcIn*.

In addition, lcSysExt* should use SM_C*VIRTUALSCREEN instead of
SM_C*SCREEN, to handle multi-monitor setups properly. Setting lcSysExt*
to these values works even if the tablet is mapped to a subset of this
area.

After this change, PaintTool SAI 2 appears to work out of the box. Other
wintab clients I tested appear to be unaffected (such as the Wintab SDK
demos and Adobe Photoshop CS2.)

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
dlls/winex11.drv/wintab.c