[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15557] trunk/lib/win64: Copied wintab defined from windows lib folder to win64 folder for a nice compile with win64

Daniel Genrich daniel.genrich at gmx.net
Sun Jul 13 19:50:11 CEST 2008


Revision: 15557
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15557
Author:   genscher
Date:     2008-07-13 19:50:09 +0200 (Sun, 13 Jul 2008)

Log Message:
-----------
Copied wintab defined from windows lib folder to win64 folder for a nice compile with win64

Added Paths:
-----------
    trunk/lib/win64/wintab/
    trunk/lib/win64/wintab/INCLUDE/
    trunk/lib/win64/wintab/INCLUDE/pktdef.h
    trunk/lib/win64/wintab/INCLUDE/wintab.h

Added: trunk/lib/win64/wintab/INCLUDE/pktdef.h
===================================================================
--- trunk/lib/win64/wintab/INCLUDE/pktdef.h	                        (rev 0)
+++ trunk/lib/win64/wintab/INCLUDE/pktdef.h	2008-07-13 17:50:09 UTC (rev 15557)
@@ -0,0 +1,236 @@
+/* -------------------------------- pktdef.h -------------------------------- */
+/* Combined 16 & 32-bit version. */
+
+/*------------------------------------------------------------------------------
+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.
+------------------------------------------------------------------------------*/
+/*------------------------------------------------------------------------------
+
+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	/* __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), NEAR * __IFX(NP,PACKET), \
+					FAR * __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
+	#if (__EXT(EXPKEYS) == PKEXT_RELATIVE) || (__EXT(EXPKEYS) == PKEXT_ABSOLUTE)
+		WORD			pkExpKeys[4]; /* 1.3 */
+	#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
+}
+#endif	/* __cplusplus */

Added: trunk/lib/win64/wintab/INCLUDE/wintab.h
===================================================================
--- trunk/lib/win64/wintab/INCLUDE/wintab.h	                        (rev 0)
+++ trunk/lib/win64/wintab/INCLUDE/wintab.h	2008-07-13 17:50:09 UTC (rev 15557)
@@ -0,0 +1,865 @@
+/* -------------------------------- wintab.h -------------------------------- */
+/* Combined 16 & 32-bit version. */
+
+/*------------------------------------------------------------------------------
+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.
+------------------------------------------------------------------------------*/
+
+#ifndef _INC_WINTAB     /* prevent multiple includes */
+#define _INC_WINTAB
+
+#ifdef __cplusplus
+extern "C" {
+#endif	/* __cplusplus */
+
+/* -------------------------------------------------------------------------- */
+/* Messages */
+#ifndef NOWTMESSAGES
+
+	#define WT_DEFBASE		0x7FF0
+	#define WT_MAXOFFSET	0xF
+
+	#define _WT_PACKET(b)		((b)+0)
+	#define _WT_CTXOPEN(b)		((b)+1)
+	#define _WT_CTXCLOSE(b)		((b)+2)
+	#define _WT_CTXUPDATE(b)	((b)+3)
+	#define _WT_CTXOVERLAP(b)	((b)+4)
+	#define _WT_PROXIMITY(b)	((b)+5)
+	#define _WT_INFOCHANGE(b)	((b)+6)
+	#define _WT_CSRCHANGE(b)	((b)+7) /* 1.1 */
+	#define _WT_MAX(b)			((b)+WT_MAXOFFSET)
+	
+	#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_CTXOVERLAP		_WT_CTXOVERLAP(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)
+
+#endif
+
+/* -------------------------------------------------------------------------- */
+/* -------------------------------------------------------------------------- */
+/* Data Types */
+
+/* -------------------------------------------------------------------------- */
+/* COMMON DATA DEFS */
+
+DECLARE_HANDLE(HMGR);		/* manager handle */
+DECLARE_HANDLE(HCTX);		/* context handle */
+DECLARE_HANDLE(HWTHOOK);	/* hook handle */
+
+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_TANGENT_PRESSURE	0x0800	/* tangential or barrel pressure */
+	#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 CASTFIX32(x)	((FIX32)((x)*65536L))
+
+	#define ROUND(x)		(INT(x) + (FRAC(x) > (WORD)0x8000))
+
+	#define FIX_MUL(c, a, b)						\
+		(c = (((DWORD)FRAC(a) * FRAC(b)) >> 16) +	\
+			(DWORD)INT(a) * FRAC(b) +				\
+			(DWORD)INT(b) * FRAC(a) +				\

@@ Diff output truncated at 10240 characters. @@




More information about the Bf-blender-cvs mailing list