Mercurial > sdl-ios-xcode
view src/video/win32/wactab/wintab.h @ 3583:65f66674b7fb
Allocate memory only if we're going to overwrite an environment variable
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Wed, 16 Dec 2009 16:08:17 +0000 |
parents | f23ebf1ddac4 |
children |
line wrap: on
line source
/* *INDENT-OFF* */ /* -------------------------------- 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) + \ ((DWORD)INT(a) * INT(b) << 16)) #ifdef _WINDLL #define FIX_DIV_SC static #else #define FIX_DIV_SC #endif #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; \ } #endif /* -------------------------------------------------------------------------- */ /* INFO DATA DEFS */ #ifndef NOWTINFO #ifndef NOWTAXIS typedef struct tagAXIS { LONG axMin; LONG axMax; UINT axUnits; FIX32 axResolution; } AXIS, *PAXIS, NEAR *NPAXIS, FAR *LPAXIS; /* unit specifiers */ #define TU_NONE 0 #define TU_INCHES 1 #define TU_CENTIMETERS 2 #define TU_CIRCLE 3 #endif #ifndef NOWTSYSBUTTONS /* system button assignment values */ #define SBN_NONE 0x00 #define SBN_LCLICK 0x01 #define SBN_LDBLCLICK 0x02 #define SBN_LDRAG 0x03 #define SBN_RCLICK 0x04 #define SBN_RDBLCLICK 0x05 #define SBN_RDRAG 0x06 #define SBN_MCLICK 0x07 #define SBN_MDBLCLICK 0x08 #define SBN_MDRAG 0x09 /* for Pen Windows */ #define SBN_PTCLICK 0x10 #define SBN_PTDBLCLICK 0x20 #define SBN_PTDRAG 0x30 #define SBN_PNCLICK 0x40 #define SBN_PNDBLCLICK 0x50 #define SBN_PNDRAG 0x60 #define SBN_P1CLICK 0x70 #define SBN_P1DBLCLICK 0x80 #define SBN_P1DRAG 0x90 #define SBN_P2CLICK 0xA0 #define SBN_P2DBLCLICK 0xB0 #define SBN_P2DRAG 0xC0 #define SBN_P3CLICK 0xD0 #define SBN_P3DBLCLICK 0xE0 #define SBN_P3DRAG 0xF0 #endif #ifndef NOWTCAPABILITIES /* hardware capabilities */ #define HWC_INTEGRATED 0x0001 #define HWC_TOUCH 0x0002 #define HWC_HARDPROX 0x0004 #define HWC_PHYSID_CURSORS 0x0008 /* 1.1 */ #endif #ifndef NOWTIFC #ifndef NOWTCURSORS /* cursor capabilities */ #define CRC_MULTIMODE 0x0001 /* 1.1 */ #define CRC_AGGREGATE 0x0002 /* 1.1 */ #define CRC_INVERT 0x0004 /* 1.1 */ #endif /* info categories */ #define WTI_INTERFACE 1 #define IFC_WINTABID 1 #define IFC_SPECVERSION 2 #define IFC_IMPLVERSION 3 #define IFC_NDEVICES 4 #define IFC_NCURSORS 5 #define IFC_NCONTEXTS 6 #define IFC_CTXOPTIONS 7 #define IFC_CTXSAVESIZE 8 #define IFC_NEXTENSIONS 9 #define IFC_NMANAGERS 10 #define IFC_MAX 10 #endif #ifndef NOWTSTATUS #define WTI_STATUS 2 #define STA_CONTEXTS 1 #define STA_SYSCTXS 2 #define STA_PKTRATE 3 #define STA_PKTDATA 4 #define STA_MANAGERS 5 #define STA_SYSTEM 6 #define STA_BUTTONUSE 7 #define STA_SYSBTNUSE 8 #define STA_MAX 8 #endif #ifndef NOWTDEFCONTEXT #define WTI_DEFCONTEXT 3 #define WTI_DEFSYSCTX 4 #define WTI_DDCTXS 400 /* 1.1 */ #define WTI_DSCTXS 500 /* 1.1 */ #define CTX_NAME 1 #define CTX_OPTIONS 2 #define CTX_STATUS 3 #define CTX_LOCKS 4 #define CTX_MSGBASE 5 #define CTX_DEVICE 6 #define CTX_PKTRATE 7 #define CTX_PKTDATA 8 #define CTX_PKTMODE 9 #define CTX_MOVEMASK 10 #define CTX_BTNDNMASK 11 #define CTX_BTNUPMASK 12 #define CTX_INORGX 13 #define CTX_INORGY 14 #define CTX_INORGZ 15 #define CTX_INEXTX 16 #define CTX_INEXTY 17 #define CTX_INEXTZ 18 #define CTX_OUTORGX 19 #define CTX_OUTORGY 20 #define CTX_OUTORGZ 21 #define CTX_OUTEXTX 22 #define CTX_OUTEXTY 23 #define CTX_OUTEXTZ 24 #define CTX_SENSX 25 #define CTX_SENSY 26 #define CTX_SENSZ 27 #define CTX_SYSMODE 28 #define CTX_SYSORGX 29 #define CTX_SYSORGY 30 #define CTX_SYSEXTX 31 #define CTX_SYSEXTY 32 #define CTX_SYSSENSX 33 #define CTX_SYSSENSY 34 #define CTX_MAX 34 #endif #ifndef NOWTDEVICES #define WTI_DEVICES 100 #define DVC_NAME 1 #define DVC_HARDWARE 2 #define DVC_NCSRTYPES 3 #define DVC_FIRSTCSR 4 #define DVC_PKTRATE 5 #define DVC_PKTDATA 6 #define DVC_PKTMODE 7 #define DVC_CSRDATA 8 #define DVC_XMARGIN 9 #define DVC_YMARGIN 10 #define DVC_ZMARGIN 11 #define DVC_X 12 #define DVC_Y 13 #define DVC_Z 14 #define DVC_NPRESSURE 15 #define DVC_TPRESSURE 16 #define DVC_ORIENTATION 17 #define DVC_ROTATION 18 /* 1.1 */ #define DVC_PNPID 19 /* 1.1 */ #define DVC_MAX 19 #endif #ifndef NOWTCURSORS #define WTI_CURSORS 200 #define CSR_NAME 1 #define CSR_ACTIVE 2 #define CSR_PKTDATA 3 #define CSR_BUTTONS 4 #define CSR_BUTTONBITS 5 #define CSR_BTNNAMES 6 #define CSR_BUTTONMAP 7 #define CSR_SYSBTNMAP 8 #define CSR_NPBUTTON 9 #define CSR_NPBTNMARKS 10 #define CSR_NPRESPONSE 11 #define CSR_TPBUTTON 12 #define CSR_TPBTNMARKS 13 #define CSR_TPRESPONSE 14 #define CSR_PHYSID 15 /* 1.1 */ #define CSR_MODE 16 /* 1.1 */ #define CSR_MINPKTDATA 17 /* 1.1 */ #define CSR_MINBUTTONS 18 /* 1.1 */ #define CSR_CAPABILITIES 19 /* 1.1 */ #define CSR_TYPE 20 /* 1.2 */ #define CSR_MAX 20 #endif #ifndef NOWTEXTENSIONS #define WTI_EXTENSIONS 300 #define EXT_NAME 1 #define EXT_TAG 2 #define EXT_MASK 3 #define EXT_SIZE 4 #define EXT_AXES 5 #define EXT_DEFAULT 6 #define EXT_DEFCONTEXT 7 #define EXT_DEFSYSCTX 8 #define EXT_CURSORS 9 #define EXT_MAX 109 /* Allow 100 cursors */ #endif #endif /* -------------------------------------------------------------------------- */ /* CONTEXT DATA DEFS */ #define LCNAMELEN 40 #define LC_NAMELEN 40 #ifdef WIN32 typedef struct tagLOGCONTEXTA { char lcName[LCNAMELEN]; UINT lcOptions; UINT lcStatus; UINT lcLocks; UINT lcMsgBase; UINT lcDevice; UINT lcPktRate; WTPKT lcPktData; WTPKT lcPktMode; WTPKT lcMoveMask; DWORD lcBtnDnMask; DWORD lcBtnUpMask; LONG lcInOrgX; LONG lcInOrgY; LONG lcInOrgZ; LONG lcInExtX; LONG lcInExtY; LONG lcInExtZ; LONG lcOutOrgX; LONG lcOutOrgY; LONG lcOutOrgZ; LONG lcOutExtX; LONG lcOutExtY; LONG lcOutExtZ; FIX32 lcSensX; FIX32 lcSensY; FIX32 lcSensZ; BOOL lcSysMode; int lcSysOrgX; int lcSysOrgY; int lcSysExtX; int lcSysExtY; FIX32 lcSysSensX; FIX32 lcSysSensY; } LOGCONTEXTA, *PLOGCONTEXTA, NEAR *NPLOGCONTEXTA, FAR *LPLOGCONTEXTA; typedef struct tagLOGCONTEXTW { WCHAR lcName[LCNAMELEN]; UINT lcOptions; UINT lcStatus; UINT lcLocks; UINT lcMsgBase; UINT lcDevice; UINT lcPktRate; WTPKT lcPktData; WTPKT lcPktMode; WTPKT lcMoveMask; DWORD lcBtnDnMask; DWORD lcBtnUpMask; LONG lcInOrgX; LONG lcInOrgY; LONG lcInOrgZ; LONG lcInExtX; LONG lcInExtY; LONG lcInExtZ; LONG lcOutOrgX; LONG lcOutOrgY; LONG lcOutOrgZ; LONG lcOutExtX; LONG lcOutExtY; LONG lcOutExtZ; FIX32 lcSensX; FIX32 lcSensY; FIX32 lcSensZ; BOOL lcSysMode; int lcSysOrgX; int lcSysOrgY; int lcSysExtX; int lcSysExtY; FIX32 lcSysSensX; FIX32 lcSysSensY; } LOGCONTEXTW, *PLOGCONTEXTW, NEAR *NPLOGCONTEXTW, FAR *LPLOGCONTEXTW; #ifdef UNICODE typedef LOGCONTEXTW LOGCONTEXT; typedef PLOGCONTEXTW PLOGCONTEXT; typedef NPLOGCONTEXTW NPLOGCONTEXT; typedef LPLOGCONTEXTW LPLOGCONTEXT; #else typedef LOGCONTEXTA LOGCONTEXT; typedef PLOGCONTEXTA PLOGCONTEXT; typedef NPLOGCONTEXTA NPLOGCONTEXT; typedef LPLOGCONTEXTA LPLOGCONTEXT; #endif /* UNICODE */ #else /* WIN32 */ typedef struct tagLOGCONTEXT { char lcName[LCNAMELEN]; UINT lcOptions; UINT lcStatus; UINT lcLocks; UINT lcMsgBase; UINT lcDevice; UINT lcPktRate; WTPKT lcPktData; WTPKT lcPktMode; WTPKT lcMoveMask; DWORD lcBtnDnMask; DWORD lcBtnUpMask; LONG lcInOrgX; LONG lcInOrgY; LONG lcInOrgZ; LONG lcInExtX; LONG lcInExtY; LONG lcInExtZ; LONG lcOutOrgX; LONG lcOutOrgY; LONG lcOutOrgZ; LONG lcOutExtX; LONG lcOutExtY; LONG lcOutExtZ; FIX32 lcSensX; FIX32 lcSensY; FIX32 lcSensZ; BOOL lcSysMode; int lcSysOrgX; int lcSysOrgY; int lcSysExtX; int lcSysExtY; FIX32 lcSysSensX; FIX32 lcSysSensY; } LOGCONTEXT, *PLOGCONTEXT, NEAR *NPLOGCONTEXT, FAR *LPLOGCONTEXT; #endif /* WIN32 */ /* context option values */ #define CXO_SYSTEM 0x0001 #define CXO_PEN 0x0002 #define CXO_MESSAGES 0x0004 #define CXO_MARGIN 0x8000 #define CXO_MGNINSIDE 0x4000 #define CXO_CSRMESSAGES 0x0008 /* 1.1 */ /* context status values */ #define CXS_DISABLED 0x0001 #define CXS_OBSCURED 0x0002 #define CXS_ONTOP 0x0004 /* context lock values */ #define CXL_INSIZE 0x0001 #define CXL_INASPECT 0x0002 #define CXL_SENSITIVITY 0x0004 #define CXL_MARGIN 0x0008 #define CXL_SYSOUT 0x0010 /* -------------------------------------------------------------------------- */ /* EVENT DATA DEFS */ /* For packet structure definition, see pktdef.h */ /* packet status values */ #define TPS_PROXIMITY 0x0001 #define TPS_QUEUE_ERR 0x0002 #define TPS_MARGIN 0x0004 #define TPS_GRAB 0x0008 #define TPS_INVERT 0x0010 /* 1.1 */ typedef struct tagORIENTATION { int orAzimuth; int orAltitude; int orTwist; } ORIENTATION, *PORIENTATION, NEAR *NPORIENTATION, FAR *LPORIENTATION; typedef struct tagROTATION { /* 1.1 */ int roPitch; int roRoll; int roYaw; } ROTATION, *PROTATION, NEAR *NPROTATION, FAR *LPROTATION; // grandfather in obsolete member names. #define rotPitch roPitch #define rotRoll roRoll #define rotYaw roYaw /* relative buttons */ #define TBN_NONE 0 #define TBN_UP 1 #define TBN_DOWN 2 /* -------------------------------------------------------------------------- */ /* DEVICE CONFIG CONSTANTS */ #ifndef NOWTDEVCFG #define WTDC_NONE 0 #define WTDC_CANCEL 1 #define WTDC_OK 2 #define WTDC_RESTART 3 #endif /* -------------------------------------------------------------------------- */ /* HOOK CONSTANTS */ #ifndef NOWTHOOKS #define WTH_PLAYBACK 1 #define WTH_RECORD 2 #define WTHC_GETLPLPFN (-3) #define WTHC_LPLPFNNEXT (-2) #define WTHC_LPFNNEXT (-1) #define WTHC_ACTION 0 #define WTHC_GETNEXT 1 #define WTHC_SKIP 2 #endif /* -------------------------------------------------------------------------- */ /* PREFERENCE FUNCTION CONSTANTS */ #ifndef NOWTPREF #define WTP_LPDEFAULT ((LPVOID)-1L) #define WTP_DWDEFAULT ((DWORD)-1L) #endif /* -------------------------------------------------------------------------- */ /* EXTENSION TAGS AND CONSTANTS */ #ifndef NOWTEXTENSIONS /* constants for use with pktdef.h */ #define PKEXT_ABSOLUTE 1 #define PKEXT_RELATIVE 2 /* Extension tags. */ #define WTX_OBT 0 /* Out of bounds tracking */ #define WTX_FKEYS 1 /* Function keys */ #define WTX_TILT 2 /* Raw Cartesian tilt; 1.1 */ #define WTX_CSRMASK 3 /* select input by cursor type; 1.1 */ #define WTX_XBTNMASK 4 /* Extended button mask; 1.1 */ #define WTX_EXPKEYS 5 /* ExpressKeys; 1.3 */ typedef struct tagXBTNMASK { BYTE xBtnDnMask[32]; BYTE xBtnUpMask[32]; } XBTNMASK; typedef struct tagTILT { /* 1.1 */ int tiltX; int tiltY; } TILT; #endif /* -------------------------------------------------------------------------- */ /* -------------------------------------------------------------------------- */ /* Functions */ #ifndef API #ifndef WINAPI #define API FAR PASCAL #else #define API WINAPI #endif #endif #ifndef NOWTCALLBACKS #ifndef CALLBACK #define CALLBACK FAR PASCAL #endif #ifndef NOWTMANAGERFXNS /* callback function types */ typedef BOOL (WINAPI * WTENUMPROC)(HCTX, LPARAM); /* changed CALLBACK->WINAPI, 1.1 */ typedef BOOL (WINAPI * WTCONFIGPROC)(HCTX, HWND); typedef LRESULT (WINAPI * WTHOOKPROC)(int, WPARAM, LPARAM); typedef WTHOOKPROC FAR *LPWTHOOKPROC; #endif #endif #ifndef NOWTFUNCTIONS #ifndef NOWTBASICFXNS /* BASIC FUNCTIONS */ #ifdef WIN32 UINT API WTInfoA(UINT, UINT, LPVOID); #define ORD_WTInfoA 20 UINT API WTInfoW(UINT, UINT, LPVOID); #define ORD_WTInfoW 1020 #ifdef UNICODE #define WTInfo WTInfoW #define ORD_WTInfo ORD_WTInfoW #else #define WTInfo WTInfoA #define ORD_WTInfo ORD_WTInfoA #endif /* !UNICODE */ #else UINT API WTInfo(UINT, UINT, LPVOID); #define ORD_WTInfo 20 #endif #ifdef WIN32 HCTX API WTOpenA(HWND, LPLOGCONTEXTA, BOOL); #define ORD_WTOpenA 21 HCTX API WTOpenW(HWND, LPLOGCONTEXTW, BOOL); #define ORD_WTOpenW 1021 #ifdef UNICODE #define WTOpen WTOpenW #define ORD_WTOpen ORD_WTOpenW #else #define WTOpen WTOpenA #define ORD_WTOpen ORD_WTOpenA #endif /* !UNICODE */ #else HCTX API WTOpen(HWND, LPLOGCONTEXT, BOOL); #define ORD_WTOpen 21 #endif BOOL API WTClose(HCTX); #define ORD_WTClose 22 int API WTPacketsGet(HCTX, int, LPVOID); #define ORD_WTPacketsGet 23 BOOL API WTPacket(HCTX, UINT, LPVOID); #define ORD_WTPacket 24 #endif #ifndef NOWTVISIBILITYFXNS /* VISIBILITY FUNCTIONS */ BOOL API WTEnable(HCTX, BOOL); #define ORD_WTEnable 40 BOOL API WTOverlap(HCTX, BOOL); #define ORD_WTOverlap 41 #endif #ifndef NOWTCTXEDITFXNS /* CONTEXT EDITING FUNCTIONS */ BOOL API WTConfig(HCTX, HWND); #define ORD_WTConfig 60 #ifdef WIN32 BOOL API WTGetA(HCTX, LPLOGCONTEXTA); #define ORD_WTGetA 61 BOOL API WTGetW(HCTX, LPLOGCONTEXTW); #define ORD_WTGetW 1061 #ifdef UNICODE #define WTGet WTGetW #define ORD_WTGet ORD_WTGetW #else #define WTGet WTGetA #define ORD_WTGet ORD_WTGetA #endif /* !UNICODE */ #else BOOL API WTGet(HCTX, LPLOGCONTEXT); #define ORD_WTGet 61 #endif #ifdef WIN32 BOOL API WTSetA(HCTX, LPLOGCONTEXTA); #define ORD_WTSetA 62 BOOL API WTSetW(HCTX, LPLOGCONTEXTW); #define ORD_WTSetW 1062 #ifdef UNICODE #define WTSet WTSetW #define ORD_WTSet ORD_WTSetW #else #define WTSet WTSetA #define ORD_WTSet ORD_WTSetA #endif /* !UNICODE */ #else BOOL API WTSet(HCTX, LPLOGCONTEXT); #define ORD_WTSet 62 #endif BOOL API WTExtGet(HCTX, UINT, LPVOID); #define ORD_WTExtGet 63 BOOL API WTExtSet(HCTX, UINT, LPVOID); #define ORD_WTExtSet 64 BOOL API WTSave(HCTX, LPVOID); #define ORD_WTSave 65 HCTX API WTRestore(HWND, LPVOID, BOOL); #define ORD_WTRestore 66 #endif #ifndef NOWTQUEUEFXNS /* ADVANCED PACKET AND QUEUE FUNCTIONS */ int API WTPacketsPeek(HCTX, int, LPVOID); #define ORD_WTPacketsPeek 80 int API WTDataGet(HCTX, UINT, UINT, int, LPVOID, LPINT); #define ORD_WTDataGet 81 int API WTDataPeek(HCTX, UINT, UINT, int, LPVOID, LPINT); #define ORD_WTDataPeek 82 #ifndef WIN32 /* OBSOLETE IN WIN32! */ DWORD API WTQueuePackets(HCTX); #define ORD_WTQueuePackets 83 #endif int API WTQueueSizeGet(HCTX); #define ORD_WTQueueSizeGet 84 BOOL API WTQueueSizeSet(HCTX, int); #define ORD_WTQueueSizeSet 85 #endif #ifndef NOWTHMGRFXNS /* MANAGER HANDLE FUNCTIONS */ HMGR API WTMgrOpen(HWND, UINT); #define ORD_WTMgrOpen 100 BOOL API WTMgrClose(HMGR); #define ORD_WTMgrClose 101 #endif #ifndef NOWTMGRCTXFXNS /* MANAGER CONTEXT FUNCTIONS */ BOOL API WTMgrContextEnum(HMGR, WTENUMPROC, LPARAM); #define ORD_WTMgrContextEnum 120 HWND API WTMgrContextOwner(HMGR, HCTX); #define ORD_WTMgrContextOwner 121 HCTX API WTMgrDefContext(HMGR, BOOL); #define ORD_WTMgrDefContext 122 HCTX API WTMgrDefContextEx(HMGR, UINT, BOOL); /* 1.1 */ #define ORD_WTMgrDefContextEx 206 #endif #ifndef NOWTMGRCONFIGFXNS /* MANAGER CONFIG BOX FUNCTIONS */ UINT API WTMgrDeviceConfig(HMGR, UINT, HWND); #define ORD_WTMgrDeviceConfig 140 #ifndef WIN32 /* OBSOLETE IN WIN32! */ BOOL API WTMgrConfigReplace(HMGR, BOOL, WTCONFIGPROC); #define ORD_WTMgrConfigReplace 141 #endif #endif #ifndef NOWTMGRHOOKFXNS /* MANAGER PACKET HOOK FUNCTIONS */ #ifndef WIN32 /* OBSOLETE IN WIN32! */ WTHOOKPROC API WTMgrPacketHook(HMGR, BOOL, int, WTHOOKPROC); #define ORD_WTMgrPacketHook 160 LRESULT API WTMgrPacketHookDefProc(int, WPARAM, LPARAM, LPWTHOOKPROC); #define ORD_WTMgrPacketHookDefProc 161 #endif #endif #ifndef NOWTMGRPREFFXNS /* MANAGER PREFERENCE DATA FUNCTIONS */ BOOL API WTMgrExt(HMGR, UINT, LPVOID); #define ORD_WTMgrExt 180 BOOL API WTMgrCsrEnable(HMGR, UINT, BOOL); #define ORD_WTMgrCsrEnable 181 BOOL API WTMgrCsrButtonMap(HMGR, UINT, LPBYTE, LPBYTE); #define ORD_WTMgrCsrButtonMap 182 BOOL API WTMgrCsrPressureBtnMarks(HMGR, UINT, DWORD, DWORD); #define ORD_WTMgrCsrPressureBtnMarks 183 BOOL API WTMgrCsrPressureResponse(HMGR, UINT, UINT FAR *, UINT FAR *); #define ORD_WTMgrCsrPressureResponse 184 BOOL API WTMgrCsrExt(HMGR, UINT, UINT, LPVOID); #define ORD_WTMgrCsrExt 185 #endif /* Win32 replacements for non-portable functions. */ #ifndef NOWTQUEUEFXNS /* ADVANCED PACKET AND QUEUE FUNCTIONS */ BOOL API WTQueuePacketsEx(HCTX, UINT FAR *, UINT FAR *); #define ORD_WTQueuePacketsEx 200 #endif #ifndef NOWTMGRCONFIGFXNS /* MANAGER CONFIG BOX FUNCTIONS */ #ifdef WIN32 BOOL API WTMgrConfigReplaceExA(HMGR, BOOL, LPSTR, LPSTR); #define ORD_WTMgrConfigReplaceExA 202 BOOL API WTMgrConfigReplaceExW(HMGR, BOOL, LPWSTR, LPSTR); #define ORD_WTMgrConfigReplaceExW 1202 #ifdef UNICODE #define WTMgrConfigReplaceEx WTMgrConfigReplaceExW #define ORD_WTMgrConfigReplaceEx ORD_WTMgrConfigReplaceExW #else #define WTMgrConfigReplaceEx WTMgrConfigReplaceExA #define ORD_WTMgrConfigReplaceEx ORD_WTMgrConfigReplaceExA #endif /* !UNICODE */ #else BOOL API WTMgrConfigReplaceEx(HMGR, BOOL, LPSTR, LPSTR); #define ORD_WTMgrConfigReplaceEx 202 #endif #endif #ifndef NOWTMGRHOOKFXNS /* MANAGER PACKET HOOK FUNCTIONS */ #ifdef WIN32 HWTHOOK API WTMgrPacketHookExA(HMGR, int, LPSTR, LPSTR); #define ORD_WTMgrPacketHookExA 203 HWTHOOK API WTMgrPacketHookExW(HMGR, int, LPWSTR, LPSTR); #define ORD_WTMgrPacketHookExW 1203 #ifdef UNICODE #define WTMgrPacketHookEx WTMgrPacketHookExW #define ORD_WTMgrPacketHookEx ORD_WTMgrPacketHookExW #else #define WTMgrPacketHookEx WTMgrPacketHookExA #define ORD_WTMgrPacketHookEx ORD_WTMgrPacketHookExA #endif /* !UNICODE */ #else HWTHOOK API WTMgrPacketHookEx(HMGR, int, LPSTR, LPSTR); #define ORD_WTMgrPacketHookEx 203 #endif BOOL API WTMgrPacketUnhook(HWTHOOK); #define ORD_WTMgrPacketUnhook 204 LRESULT API WTMgrPacketHookNext(HWTHOOK, int, WPARAM, LPARAM); #define ORD_WTMgrPacketHookNext 205 #endif #ifndef NOWTMGRPREFFXNS /* MANAGER PREFERENCE DATA FUNCTIONS */ BOOL API WTMgrCsrPressureBtnMarksEx(HMGR, UINT, UINT FAR *, UINT FAR *); #define ORD_WTMgrCsrPressureBtnMarksEx 201 #endif #endif #ifdef __cplusplus } #endif /* __cplusplus */ #endif /* #define _INC_WINTAB */