[PATCH v2 01/12] wintab32: Standardize location of WTPACKET definition.
Elaine Lefler
elaineclefler at gmail.com
Thu Mar 24 23:46:15 CDT 2022
Signed-off-by: Elaine Lefler <elaineclefler at gmail.com>
---
v2: Splitting into smaller patches as per feedback.
This structure was being defined redundantly in multiple places. It has
been moved to a public header where everyone can access it.
pktdef.h, which was never used at all, has been removed.
---
dlls/winex11.drv/wintab.c | 17 ---
dlls/wintab32/wintab_internal.h | 17 ---
include/Makefile.in | 1 -
include/pktdef.h | 248 --------------------------------
include/wintab.h | 19 ++-
5 files changed, 17 insertions(+), 285 deletions(-)
delete mode 100644 include/pktdef.h
diff --git a/dlls/winex11.drv/wintab.c b/dlls/winex11.drv/wintab.c
index 331601c3325..ef9bbc6be45 100644
--- a/dlls/winex11.drv/wintab.c
+++ b/dlls/winex11.drv/wintab.c
@@ -233,23 +233,6 @@ typedef struct tagWTI_DEVICES_INFO
* linux wacom lists all the known values and this isn't one of them */
#define CSR_TYPE_OTHER 0x000
-typedef struct tagWTPACKET {
- HCTX pkContext;
- UINT pkStatus;
- LONG pkTime;
- WTPKT pkChanged;
- UINT pkSerialNumber;
- UINT pkCursor;
- DWORD pkButtons;
- DWORD pkX;
- DWORD pkY;
- DWORD pkZ;
- UINT pkNormalPressure;
- UINT pkTangentPressure;
- ORIENTATION pkOrientation;
- ROTATION pkRotation; /* 1.1 */
-} WTPACKET, *LPWTPACKET;
-
#ifdef SONAME_LIBXI
diff --git a/dlls/wintab32/wintab_internal.h b/dlls/wintab32/wintab_internal.h
index 18c64bfe700..3b31d021f66 100644
--- a/dlls/wintab32/wintab_internal.h
+++ b/dlls/wintab32/wintab_internal.h
@@ -116,23 +116,6 @@ typedef struct tagWTI_EXTENSIONS_INFO
*/
} WTI_EXTENSIONS_INFO, *LPWTI_EXTENSIONS_INFO;
-typedef struct tagWTPACKET {
- HCTX pkContext;
- UINT pkStatus;
- LONG pkTime;
- WTPKT pkChanged;
- UINT pkSerialNumber;
- UINT pkCursor;
- DWORD pkButtons;
- DWORD pkX;
- DWORD pkY;
- DWORD pkZ;
- UINT pkNormalPressure;
- UINT pkTangentPressure;
- ORIENTATION pkOrientation;
- ROTATION pkRotation; /* 1.1 */
-} WTPACKET, *LPWTPACKET;
-
typedef struct tagOPENCONTEXT
{
HCTX handle;
diff --git a/include/Makefile.in b/include/Makefile.in
index 9578c557af7..b9d2f8416fa 100644
--- a/include/Makefile.in
+++ b/include/Makefile.in
@@ -590,7 +590,6 @@ SOURCES = \
perflib.h \
perhist.idl \
physicalmonitorenumerationapi.h \
- pktdef.h \
poppack.h \
powrprof.h \
prntvpt.h \
diff --git a/include/pktdef.h b/include/pktdef.h
deleted file mode 100644
index a1622062658..00000000000
--- a/include/pktdef.h
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (C) 1991-1998 by LCS/Telegraphics
- * Copyright (C) 2002 Patrik Stridvall
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
- */
-
-#ifndef __WINE_PKTDEF_H
-#define __WINE_PKTDEF_H
-
-/***********************************************************************
- * How to use pktdef.h:
- *
- * 1. Include wintab.h
- * 2. if using just one packet format:
- * a. Define PACKETDATA and PACKETMODE as or'ed combinations of WTPKT bits
- * (use the PK_* identifiers).
- * b. Include pktdef.h.
- * c. The generated structure typedef will be called PACKET. Use PACKETDATA
- * and PACKETMODE to fill in the LOGCONTEXT structure.
- * 3. If using multiple packet formats, for each one:
- * a. Define PACKETNAME. Its text value will be a prefix for this packet's
- * parameters and names.
- * b. Define <PACKETNAME>PACKETDATA and <PACKETNAME>PACKETMODE similar to
- * 2.a. above.
- * c. Include pktdef.h.
- * d. The generated structure typedef will be called
- * <PACKETNAME>PACKET. Compare with 2.c. above and example #2 below.
- * 4. If using extension packet data, do the following additional steps
- * for each extension:
- * a. Before including pktdef.h, define <PACKETNAME>PACKET<EXTENSION>
- * as either PKEXT_ABSOLUTE or PKEXT_RELATIVE.
- * b. The generated structure typedef will contain a field for the
- * extension data.
- * c. Scan the WTI_EXTENSION categories to find the extension's
- * packet mask bit.
- * d. OR the packet mask bit with <PACKETNAME>PACKETDATA and use the
- * result in the lcPktData field of the LOGCONTEXT structure.
- * e. If <PACKETNAME>PACKET<EXTENSION> was PKEXT_RELATIVE, OR the
- * packet mask bit with <PACKETNAME>PACKETMODE and use the result
- * in the lcPktMode field of the LOGCONTEXT structure.
- *
- *
- * Example #1. -- single packet format
- *
- * #include <wintab.h>
- * #define PACKETDATA PK_X | PK_Y | PK_BUTTONS /@ x, y, buttons @/
- * #define PACKETMODE PK_BUTTONS /@ buttons relative mode @/
- * #include <pktdef.h>
- * ...
- * lc.lcPktData = PACKETDATA;
- * lc.lcPktMode = PACKETMODE;
- *
- * Example #2. -- multiple formats
- *
- * #include <wintab.h>
- * #define PACKETNAME MOE
- * #define MOEPACKETDATA PK_X | PK_Y | PK_BUTTONS /@ x, y, buttons @/
- * #define MOEPACKETMODE PK_BUTTONS /@ buttons relative mode @/
- * #include <pktdef.h>
- * #define PACKETNAME LARRY
- * #define LARRYPACKETDATA PK_Y | PK_Z | PK_BUTTONS /@ y, z, buttons @/
- * #define LARRYPACKETMODE PK_BUTTONS /@ buttons relative mode @/
- * #include <pktdef.h>
- * #define PACKETNAME CURLY
- * #define CURLYPACKETDATA PK_X | PK_Z | PK_BUTTONS /@ x, z, buttons @/
- * #define CURLYPACKETMODE PK_BUTTONS /@ buttons relative mode @/
- * #include <pktdef.h>
- * ...
- * lcMOE.lcPktData = MOEPACKETDATA;
- * lcMOE.lcPktMode = MOEPACKETMODE;
- * ...
- * lcLARRY.lcPktData = LARRYPACKETDATA;
- * lcLARRY.lcPktMode = LARRYPACKETMODE;
- * ...
- * lcCURLY.lcPktData = CURLYPACKETDATA;
- * lcCURLY.lcPktMode = CURLYPACKETMODE;
- *
- * Example #3. -- extension packet data "XFOO".
- *
- * #include <wintab.h>
- * #define PACKETDATA PK_X | PK_Y | PK_BUTTONS /@ x, y, buttons @/
- * #define PACKETMODE PK_BUTTONS /@ buttons relative mode @/
- * #define PACKETXFOO PKEXT_ABSOLUTE /@ XFOO absolute mode @/
- * #include <pktdef.h>
- * ...
- * UINT ScanExts(UINT wTag)
- * {
- * UINT i;
- * UINT wScanTag;
- *
- * /@ scan for wTag's info category. @/
- * for (i = 0; WTInfo(WTI_EXTENSIONS + i, EXT_TAG, &wScanTag); i++) {
- * if (wTag == wScanTag) {
- * /@ return category offset from WTI_EXTENSIONS. @/
- * return i;
- * }
- * }
- * /@ return error code. @/
- * return 0xFFFF;
- * }
- * ...
- * lc.lcPktData = PACKETDATA;
- * lc.lcPktMode = PACKETMODE;
- * #ifdef PACKETXFOO
- * categoryXFOO = ScanExts(WTX_XFOO);
- * WTInfo(WTI_EXTENSIONS + categoryXFOO, EXT_MASK, &maskXFOO);
- * lc.lcPktData |= maskXFOO;
- * #if PACKETXFOO == PKEXT_RELATIVE
- * lc.lcPktMode |= maskXFOO;
- * #endif
- * #endif
- * WTOpen(hWnd, &lc, TRUE);
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* defined(__cplusplus) */
-
-#ifndef PACKETNAME
-/* if no packet name prefix */
-# define __PFX(x) x
-# define __IFX(x,y) x ## y
-#else
-/* add prefixes and infixes to packet format names */
-# define __PFX(x) __PFX2(PACKETNAME,x)
-# define __PFX2(p,x) __PFX3(p,x)
-# define __PFX3(p,x) p ## x
-# define __IFX(x,y) __IFX2(x,PACKETNAME,y)
-# define __IFX2(x,i,y) __IFX3(x,i,y)
-# define __IFX3(x,i,y) x ## i ## y
-#endif
-
-#define __SFX2(x,s) __SFX3(x,s)
-#define __SFX3(x,s) x ## s
-
-#define __TAG __IFX(tag,PACKET)
-#define __TYPES \
- __PFX(PACKET), * __IFX(P,PACKET), \
- * __IFX(NP,PACKET), * __IFX(LP,PACKET)
-
-#define __DATA (__PFX(PACKETDATA))
-#define __MODE (__PFX(PACKETMODE))
-#define __EXT(x) __SFX2(__PFX(PACKET),x)
-
-typedef struct __TAG {
-#if (__DATA & PK_CONTEXT)
- HCTX pkContext;
-#endif
-#if (__DATA & PK_STATUS)
- UINT pkStatus;
-#endif
-#if (__DATA & PK_TIME)
- DWORD pkTime;
-#endif
-#if (__DATA & PK_CHANGED)
- WTPKT pkChanged;
-#endif
-#if (__DATA & PK_SERIAL_NUMBER)
- UINT pkSerialNumber;
-#endif
-#if (__DATA & PK_CURSOR)
- UINT pkCursor;
-#endif
-#if (__DATA & PK_BUTTONS)
- DWORD pkButtons;
-#endif
-#if (__DATA & PK_X)
- LONG pkX;
-#endif
-#if (__DATA & PK_Y)
- LONG pkY;
-#endif
-#if (__DATA & PK_Z)
- LONG pkZ;
-#endif
-#if (__DATA & PK_NORMAL_PRESSURE)
-# if (__MODE & PK_NORMAL_PRESSURE)
- /* relative */
- int pkNormalPressure;
-# else
- /* absolute */
- UINT pkNormalPressure;
-# endif
-#endif
-#if (__DATA & PK_TANGENT_PRESSURE)
-# if (__MODE & PK_TANGENT_PRESSURE)
- /* relative */
- int pkTangentPressure;
-# else
- /* absolute */
- UINT pkTangentPressure;
-# endif
-#endif
-#if (__DATA & PK_ORIENTATION)
- ORIENTATION pkOrientation;
-#endif
-#if (__DATA & PK_ROTATION)
- ROTATION pkRotation; /* 1.1 */
-#endif
-
-#ifndef NOWTEXTENSIONS
- /* extensions begin here. */
-
-#if (__EXT(FKEYS) == PKEXT_RELATIVE) || (__EXT(FKEYS) == PKEXT_ABSOLUTE)
- UINT pkFKeys;
-#endif
-#if (__EXT(TILT) == PKEXT_RELATIVE) || (__EXT(TILT) == PKEXT_ABSOLUTE)
- TILT pkTilt;
-#endif
-
-#endif
-
-} __TYPES;
-
-#undef PACKETNAME
-#undef __TAG
-#undef __TAG2
-#undef __TYPES
-#undef __TYPES2
-#undef __DATA
-#undef __MODE
-#undef __PFX
-#undef __PFX2
-#undef __PFX3
-#undef __IFX
-#undef __IFX2
-#undef __IFX3
-#undef __SFX2
-#undef __SFX3
-
-#ifdef __cplusplus
-} /* extern "C" */
-#endif /* defined(__cplusplus) */
-
-#endif /* defined(__WINE_PKTDEF_H */
diff --git a/include/wintab.h b/include/wintab.h
index d10371b0217..9f607bbe7ef 100644
--- a/include/wintab.h
+++ b/include/wintab.h
@@ -462,8 +462,6 @@ DECL_WINELIB_TYPE_AW(LPLOGCONTEXT)
* EVENT DATA DEFS
*/
-/* For packet structure definition, see pktdef.h */
-
/* packet status values */
#define TPS_PROXIMITY 0x0001
#define TPS_QUEUE_ERR 0x0002
@@ -493,6 +491,23 @@ typedef struct tagROTATION { /* 1.1 */
#define TBN_UP 1
#define TBN_DOWN 2
+typedef struct tagWTPACKET {
+ HCTX pkContext;
+ UINT pkStatus;
+ LONG pkTime;
+ WTPKT pkChanged;
+ UINT pkSerialNumber;
+ UINT pkCursor;
+ DWORD pkButtons;
+ DWORD pkX;
+ DWORD pkY;
+ DWORD pkZ;
+ UINT pkNormalPressure;
+ UINT pkTangentPressure;
+ ORIENTATION pkOrientation;
+ ROTATION pkRotation; /* 1.1 */
+} WTPACKET, *LPWTPACKET;
+
/***********************************************************************
* DEVICE CONFIG CONSTANTS
*/
--
2.32.0 (Apple Git-132)
More information about the wine-devel
mailing list