[PATCH 1/3] macdrv: Add wintab32 implementation.

Huw Davies huw at codeweavers.com
Wed Mar 23 04:42:11 CDT 2022


On Tue, Mar 22, 2022 at 07:31:49PM -0600, Elaine Lefler wrote:
> Allow use of graphics tablets with applications that support them.
> 
> Update the existing wintab code for the sake of correctness and to
> reduce code duplication. Based on behavior observed from a Wacom
> Intuos tablet on Windows 10.
> 
> Signed-off-by: Elaine Lefler <elaineclefler at gmail.com>
> ---
> 
> This is an effort to get PaintTool SAI working on macOS. I've split up
> the macdrv changes to make them easier to read, but all three are
> needed for the app to work. I'm separately submitting ntdll changes
> which are useful but not strictly necessary.
> 
> Tablet support: SaiV2 works out of the box. Tested with Intuos tablet
> as well as Apple iPad in Sidecar mode. SaiV1 works in theory, but is
> 32-bit only and I don't know how to compile that on a modern Mac.
> 
> WTPACKET has been renamed to PACKET for consistency with Wacom's
> headers. Also, pktdef.h was included in Wine but never used, so it's
> been deleted. The X11 code remains functionally unchanged, except for
> TABLET_CopyPacketData incorrectly inserting values of SM_CXSCREEN and
> SM_CYSCREEN when the X11 driver was trying to report the correct values
> of SM_CXVIRTUALSCREEN and SM_CYVIRTUALSCREEN, so this should fix
> multimonitor support. The other changes to wintab32.dll are just for
> minor edge cases.
> ---
>  dlls/winemac.drv/Makefile.in      |   6 +-
>  dlls/winemac.drv/cocoa_wintab.h   |  64 +++
>  dlls/winemac.drv/cocoa_wintab.m   | 219 +++++++++++
>  dlls/winemac.drv/event.c          |   3 +
>  dlls/winemac.drv/macdrv.h         |   1 +
>  dlls/winemac.drv/macdrv_cocoa.h   |  11 +
>  dlls/winemac.drv/winemac.drv.spec |   6 +
>  dlls/winemac.drv/wintab.c         | 631 ++++++++++++++++++++++++++++++
>  dlls/winex11.drv/wintab.c         | 242 +++++-------
>  dlls/wintab32/context.c           | 215 ++++++----
>  dlls/wintab32/wintab32.c          |  18 +-
>  dlls/wintab32/wintab_internal.h   |  26 +-
>  include/Makefile.in               |   1 -
>  include/pktdef.h                  | 248 ------------
>  include/wintab.h                  |  91 ++++-
>  tools/winapi/win32.api            |   2 +-
>  16 files changed, 1279 insertions(+), 505 deletions(-)
>  create mode 100644 dlls/winemac.drv/cocoa_wintab.h
>  create mode 100644 dlls/winemac.drv/cocoa_wintab.m
>  create mode 100644 dlls/winemac.drv/wintab.c
>  delete mode 100644 include/pktdef.h

Hi Elaine,

Thanks for the patches.  Unfortunately at the moment this patch is too
large to review properly.  Could you try breaking it down into several
smaller, self-contained patches?

Huw.



More information about the wine-devel mailing list