[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30175] trunk/lib/windows/wintab/INCLUDE: updated to latest Wintab headers (version 1.4)
Mike Erwin
significant.bit at gmail.com
Sat Jul 10 09:38:50 CEST 2010
Revision: 30175
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30175
Author: merwin
Date: 2010-07-10 09:38:49 +0200 (Sat, 10 Jul 2010)
Log Message:
-----------
updated to latest Wintab headers (version 1.4)
Modified Paths:
--------------
trunk/lib/windows/wintab/INCLUDE/pktdef.h
trunk/lib/windows/wintab/INCLUDE/wintab.h
Modified: trunk/lib/windows/wintab/INCLUDE/pktdef.h
===================================================================
--- trunk/lib/windows/wintab/INCLUDE/pktdef.h 2010-07-10 06:03:27 UTC (rev 30174)
+++ trunk/lib/windows/wintab/INCLUDE/pktdef.h 2010-07-10 07:38:49 UTC (rev 30175)
@@ -5,7 +5,8 @@
The text and information contained in this file may be freely used,
copied, or distributed without compensation or licensing restrictions.
-This file is copyright 1991-1998 by LCS/Telegraphics.
+This file is Copyright (c) Wacom Company, Ltd. 2010 All Rights Reserved
+with portions copyright 1991-1998 by LCS/Telegraphics.
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------
@@ -26,8 +27,8 @@
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:
+4. If using extension data for extensions that report thier data in the packet,
+ 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
@@ -39,6 +40,13 @@
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.
+5. If using extension data for extensions that report thier data in the extensions packet,
+ do the following additional steps for each extension:
+ a. Before including pktdef.h, define <PACKETNAME>PACKET<EXTENSION> as PKEXT_ABSOLUTE.
+ b. The generated extension structure typedef will contain a field for the
+ extension data.
+ c. Call WTExtSet to activate the extention. Use the context id in the WT_PACKETEXT
+ message to retrieve the extension data <PACKETNAME>PACKETEXT.
Example #1. -- single packet format
@@ -136,14 +144,16 @@
#define __SFX3(x,s) x ## s
#define __TAG __IFX(tag,PACKET)
-#define __TYPES __PFX(PACKET), * __IFX(P,PACKET), NEAR * __IFX(NP,PACKET), \
- FAR * __IFX(LP,PACKET)
+#define __TYPES __PFX(PACKET), * __IFX(P,PACKET), NEAR * __IFX(NP,PACKET), FAR * __IFX(LP,PACKET)
+#define __TAGE __IFX(tag,PACKETEXT)
+#define __TYPESE __PFX(PACKETEXT), * __IFX(P,PACKETEXT), NEAR * __IFX(NP,PACKETEXT), FAR * __IFX(LP,PACKETEXT)
+
#define __DATA (__PFX(PACKETDATA))
#define __MODE (__PFX(PACKETMODE))
#define __EXT(x) __SFX2(__PFX(PACKET),x)
-
+
typedef struct __TAG {
#if (__DATA & PK_CONTEXT)
HCTX pkContext;
@@ -208,17 +218,33 @@
#if (__EXT(TILT) == PKEXT_RELATIVE) || (__EXT(TILT) == PKEXT_ABSOLUTE)
TILT pkTilt;
#endif
+#endif
+
+} __TYPES ;
+
+#ifndef NOWTEXTENSIONS
+typedef struct __TAGE {
+ EXTENSIONBASE pkBase;
+
#if (__EXT(EXPKEYS) == PKEXT_RELATIVE) || (__EXT(EXPKEYS) == PKEXT_ABSOLUTE)
- WORD pkExpKeys[4]; /* 1.3 */
+ EXPKEYSDATA pkExpKeys; /* 1.4 */
#endif
+ #if (__EXT(TOUCHSTRIP) == PKEXT_RELATIVE) || (__EXT(TOUCHSTRIP) == PKEXT_ABSOLUTE)
+ SLIDERDATA pkTouchStrip; /* 1.4 */
+ #endif
+ #if (__EXT(TOUCHRING) == PKEXT_RELATIVE) || (__EXT(TOUCHRING) == PKEXT_ABSOLUTE)
+ SLIDERDATA pkTouchRing; /* 1.4 */
+ #endif
+
+} __TYPESE ;
#endif
-} __TYPES ;
-
#undef PACKETNAME
#undef __TAG
+#undef __TAGE
#undef __TAG2
#undef __TYPES
+#undef __TYPESE
#undef __TYPES2
#undef __DATA
#undef __MODE
Modified: trunk/lib/windows/wintab/INCLUDE/wintab.h
===================================================================
--- trunk/lib/windows/wintab/INCLUDE/wintab.h 2010-07-10 06:03:27 UTC (rev 30174)
+++ trunk/lib/windows/wintab/INCLUDE/wintab.h 2010-07-10 07:38:49 UTC (rev 30175)
@@ -5,10 +5,11 @@
The text and information contained in this file may be freely used,
copied, or distributed without compensation or licensing restrictions.
-This file is copyright 1991-1998 by LCS/Telegraphics.
+This file is Copyright (c) Wacom Company, Ltd. 2010 All Rights Reserved
+with portions copyright 1991-1998 by LCS/Telegraphics.
------------------------------------------------------------------------------*/
-#ifndef _INC_WINTAB /* prevent multiple includes */
+#ifndef _INC_WINTAB /* prevent multiple includes */
#define _INC_WINTAB
#ifdef __cplusplus
@@ -19,8 +20,8 @@
/* Messages */
#ifndef NOWTMESSAGES
- #define WT_DEFBASE 0x7FF0
- #define WT_MAXOFFSET 0xF
+ #define WT_DEFBASE 0x7FF0
+ #define WT_MAXOFFSET 0xF
#define _WT_PACKET(b) ((b)+0)
#define _WT_CTXOPEN(b) ((b)+1)
@@ -30,17 +31,19 @@
#define _WT_PROXIMITY(b) ((b)+5)
#define _WT_INFOCHANGE(b) ((b)+6)
#define _WT_CSRCHANGE(b) ((b)+7) /* 1.1 */
+ #define _WT_PACKETEXT(b) ((b)+8) /* 1.4 */
#define _WT_MAX(b) ((b)+WT_MAXOFFSET)
- #define WT_PACKET _WT_PACKET(WT_DEFBASE)
+ #define WT_PACKET _WT_PACKET(WT_DEFBASE)
#define WT_CTXOPEN _WT_CTXOPEN(WT_DEFBASE)
#define WT_CTXCLOSE _WT_CTXCLOSE(WT_DEFBASE)
- #define WT_CTXUPDATE _WT_CTXUPDATE(WT_DEFBASE)
+ #define WT_CTXUPDATE _WT_CTXUPDATE(WT_DEFBASE)
#define WT_CTXOVERLAP _WT_CTXOVERLAP(WT_DEFBASE)
- #define WT_PROXIMITY _WT_PROXIMITY(WT_DEFBASE)
+ #define WT_PROXIMITY _WT_PROXIMITY(WT_DEFBASE)
#define WT_INFOCHANGE _WT_INFOCHANGE(WT_DEFBASE)
- #define WT_CSRCHANGE _WT_CSRCHANGE(WT_DEFBASE) /* 1.1 */
- #define WT_MAX _WT_MAX(WT_DEFBASE)
+ #define WT_CSRCHANGE _WT_CSRCHANGE(WT_DEFBASE) /* 1.1 */
+ #define WT_PACKETEXT _WT_PACKETEXT(WT_DEFBASE) /* 1.4 */
+ #define WT_MAX _WT_MAX(WT_DEFBASE)
#endif
@@ -55,43 +58,43 @@
DECLARE_HANDLE(HCTX); /* context handle */
DECLARE_HANDLE(HWTHOOK); /* hook handle */
-typedef DWORD WTPKT; /* packet mask */
+typedef DWORD WTPKT; /* packet mask */
#ifndef NOWTPKT
/* WTPKT bits */
- #define PK_CONTEXT 0x0001 /* reporting context */
- #define PK_STATUS 0x0002 /* status bits */
- #define PK_TIME 0x0004 /* time stamp */
- #define PK_CHANGED 0x0008 /* change bit vector */
- #define PK_SERIAL_NUMBER 0x0010 /* packet serial number */
- #define PK_CURSOR 0x0020 /* reporting cursor */
- #define PK_BUTTONS 0x0040 /* button information */
- #define PK_X 0x0080 /* x axis */
- #define PK_Y 0x0100 /* y axis */
- #define PK_Z 0x0200 /* z axis */
- #define PK_NORMAL_PRESSURE 0x0400 /* normal or tip pressure */
+ #define PK_CONTEXT 0x0001 /* reporting context */
+ #define PK_STATUS 0x0002 /* status bits */
+ #define PK_TIME 0x0004 /* time stamp */
+ #define PK_CHANGED 0x0008 /* change bit vector */
+ #define PK_SERIAL_NUMBER 0x0010 /* packet serial number */
+ #define PK_CURSOR 0x0020 /* reporting cursor */
+ #define PK_BUTTONS 0x0040 /* button information */
+ #define PK_X 0x0080 /* x axis */
+ #define PK_Y 0x0100 /* y axis */
+ #define PK_Z 0x0200 /* z axis */
+ #define PK_NORMAL_PRESSURE 0x0400 /* normal or tip pressure */
#define PK_TANGENT_PRESSURE 0x0800 /* tangential or barrel pressure */
- #define PK_ORIENTATION 0x1000 /* orientation info: tilts */
- #define PK_ROTATION 0x2000 /* rotation info; 1.1 */
+ #define PK_ORIENTATION 0x1000 /* orientation info: tilts */
+ #define PK_ROTATION 0x2000 /* rotation info; 1.1 */
#endif
typedef DWORD FIX32; /* fixed-point arithmetic type */
#ifndef NOFIX32
- #define INT(x) HIWORD(x)
- #define FRAC(x) LOWORD(x)
+ #define INT(x) HIWORD(x)
+ #define FRAC(x) LOWORD(x)
#define CASTFIX32(x) ((FIX32)((x)*65536L))
#define ROUND(x) (INT(x) + (FRAC(x) > (WORD)0x8000))
- #define FIX_MUL(c, a, b) \
+ #define FIX_MUL(c, a, b) \
(c = (((DWORD)FRAC(a) * FRAC(b)) >> 16) + \
- (DWORD)INT(a) * FRAC(b) + \
- (DWORD)INT(b) * FRAC(a) + \
+ (DWORD)INT(a) * FRAC(b) + \
+ (DWORD)INT(b) * FRAC(a) + \
((DWORD)INT(a) * INT(b) << 16))
#ifdef _WINDLL
@@ -100,25 +103,25 @@
#define FIX_DIV_SC
#endif
- #define FIX_DIV(c, a, b) \
- { \
+ #define FIX_DIV(c, a, b) \
+ { \
FIX_DIV_SC DWORD temp, rem, btemp; \
- \
- /* fraction done bytewise */ \
- temp = ((a / b) << 16); \
- rem = a % b; \
- btemp = b; \
- if (INT(btemp) < 256) { \
- rem <<= 8; \
- } \
- else { \
- btemp >>= 8; \
- } \
- temp += ((rem / btemp) << 8); \
- rem %= btemp; \
- rem <<= 8; \
- temp += rem / btemp; \
- c = temp; \
+ \
+ /* fraction done bytewise */ \
+ temp = ((a / b) << 16); \
+ rem = a % b; \
+ btemp = b; \
+ if (INT(btemp) < 256) { \
+ rem <<= 8; \
+ } \
+ else { \
+ btemp >>= 8; \
+ } \
+ temp += ((rem / btemp) << 8); \
+ rem %= btemp; \
+ rem <<= 8; \
+ temp += rem / btemp; \
+ c = temp; \
}
#endif
@@ -147,16 +150,16 @@
#ifndef NOWTSYSBUTTONS
/* system button assignment values */
-#define SBN_NONE 0x00
+#define SBN_NONE 0x00
#define SBN_LCLICK 0x01
#define SBN_LDBLCLICK 0x02
-#define SBN_LDRAG 0x03
+#define SBN_LDRAG 0x03
#define SBN_RCLICK 0x04
#define SBN_RDBLCLICK 0x05
-#define SBN_RDRAG 0x06
+#define SBN_RDRAG 0x06
#define SBN_MCLICK 0x07
#define SBN_MDBLCLICK 0x08
-#define SBN_MDRAG 0x09
+#define SBN_MDRAG 0x09
/* for Pen Windows */
#define SBN_PTCLICK 0x10
#define SBN_PTDBLCLICK 0x20
@@ -180,14 +183,14 @@
/* hardware capabilities */
#define HWC_INTEGRATED 0x0001
-#define HWC_TOUCH 0x0002
-#define HWC_HARDPROX 0x0004
+#define HWC_TOUCH 0x0002
+#define HWC_HARDPROX 0x0004
#define HWC_PHYSID_CURSORS 0x0008 /* 1.1 */
#endif
#ifndef NOWTIFC
-#ifndef NOWTCURSORS
+#ifndef NOWTCURSORS
/* cursor capabilities */
#define CRC_MULTIMODE 0x0001 /* 1.1 */
@@ -198,11 +201,11 @@
/* info categories */
#define WTI_INTERFACE 1
- #define IFC_WINTABID 1
+ #define IFC_WINTABID 1
#define IFC_SPECVERSION 2
#define IFC_IMPLVERSION 3
- #define IFC_NDEVICES 4
- #define IFC_NCURSORS 5
+ #define IFC_NDEVICES 4
+ #define IFC_NCURSORS 5
#define IFC_NCONTEXTS 6
#define IFC_CTXOPTIONS 7
#define IFC_CTXSAVESIZE 8
@@ -216,11 +219,11 @@
#ifndef NOWTSTATUS
#define WTI_STATUS 2
- #define STA_CONTEXTS 1
+ #define STA_CONTEXTS 1
#define STA_SYSCTXS 2
#define STA_PKTRATE 3
#define STA_PKTDATA 4
- #define STA_MANAGERS 5
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list