source: trunk/src/3rdparty/wintab/wintab.h@ 890

Last change on this file since 890 was 2, checked in by Dmitry A. Kuminov, 16 years ago

Initially imported qt-all-opensource-src-4.5.1 from Trolltech.

File size: 20.9 KB
Line 
1/* -------------------------------- wintab.h -------------------------------- */
2/* Combined 16 & 32-bit version. */
3
4/*------------------------------------------------------------------------------
5The text and information contained in this file may be freely used,
6copied, or distributed without compensation or licensing restrictions.
7
8This file is copyright 1991-1998 by LCS/Telegraphics.
9------------------------------------------------------------------------------*/
10
11#ifndef _INC_WINTAB /* prevent multiple includes */
12#define _INC_WINTAB
13
14#ifdef __cplusplus
15extern "C" {
16#endif /* __cplusplus */
17
18/* -------------------------------------------------------------------------- */
19/* Messages */
20#ifndef NOWTMESSAGES
21
22 #define WT_DEFBASE 0x7FF0
23 #define WT_MAXOFFSET 0xF
24
25 #define _WT_PACKET(b) ((b)+0)
26 #define _WT_CTXOPEN(b) ((b)+1)
27 #define _WT_CTXCLOSE(b) ((b)+2)
28 #define _WT_CTXUPDATE(b) ((b)+3)
29 #define _WT_CTXOVERLAP(b) ((b)+4)
30 #define _WT_PROXIMITY(b) ((b)+5)
31 #define _WT_INFOCHANGE(b) ((b)+6)
32 #define _WT_CSRCHANGE(b) ((b)+7) /* 1.1 */
33 #define _WT_MAX(b) ((b)+WT_MAXOFFSET)
34
35 #define WT_PACKET _WT_PACKET(WT_DEFBASE)
36 #define WT_CTXOPEN _WT_CTXOPEN(WT_DEFBASE)
37 #define WT_CTXCLOSE _WT_CTXCLOSE(WT_DEFBASE)
38 #define WT_CTXUPDATE _WT_CTXUPDATE(WT_DEFBASE)
39 #define WT_CTXOVERLAP _WT_CTXOVERLAP(WT_DEFBASE)
40 #define WT_PROXIMITY _WT_PROXIMITY(WT_DEFBASE)
41 #define WT_INFOCHANGE _WT_INFOCHANGE(WT_DEFBASE)
42 #define WT_CSRCHANGE _WT_CSRCHANGE(WT_DEFBASE) /* 1.1 */
43 #define WT_MAX _WT_MAX(WT_DEFBASE)
44
45#endif
46
47/* -------------------------------------------------------------------------- */
48/* -------------------------------------------------------------------------- */
49/* Data Types */
50
51/* -------------------------------------------------------------------------- */
52/* COMMON DATA DEFS */
53
54DECLARE_HANDLE(HMGR); /* manager handle */
55DECLARE_HANDLE(HCTX); /* context handle */
56DECLARE_HANDLE(HWTHOOK); /* hook handle */
57
58typedef DWORD WTPKT; /* packet mask */
59
60
61#ifndef NOWTPKT
62
63 /* WTPKT bits */
64 #define PK_CONTEXT 0x0001 /* reporting context */
65 #define PK_STATUS 0x0002 /* status bits */
66 #define PK_TIME 0x0004 /* time stamp */
67 #define PK_CHANGED 0x0008 /* change bit vector */
68 #define PK_SERIAL_NUMBER 0x0010 /* packet serial number */
69 #define PK_CURSOR 0x0020 /* reporting cursor */
70 #define PK_BUTTONS 0x0040 /* button information */
71 #define PK_X 0x0080 /* x axis */
72 #define PK_Y 0x0100 /* y axis */
73 #define PK_Z 0x0200 /* z axis */
74 #define PK_NORMAL_PRESSURE 0x0400 /* normal or tip pressure */
75 #define PK_TANGENT_PRESSURE 0x0800 /* tangential or barrel pressure */
76 #define PK_ORIENTATION 0x1000 /* orientation info: tilts */
77 #define PK_ROTATION 0x2000 /* rotation info; 1.1 */
78
79#endif
80
81typedef DWORD FIX32; /* fixed-point arithmetic type */
82
83#ifndef NOFIX32
84 #define INT(x) HIWORD(x)
85 #define FRAC(x) LOWORD(x)
86
87 #define CASTFIX32(x) ((FIX32)((x)*65536L))
88
89 #define ROUND(x) (INT(x) + (FRAC(x) > (WORD)0x8000))
90
91 #define FIX_MUL(c, a, b) \
92 (c = (((DWORD)FRAC(a) * FRAC(b)) >> 16) + \
93 (DWORD)INT(a) * FRAC(b) + \
94 (DWORD)INT(b) * FRAC(a) + \
95 ((DWORD)INT(a) * INT(b) << 16))
96
97 #ifdef _WINDLL
98 #define FIX_DIV_SC static
99 #else
100 #define FIX_DIV_SC
101 #endif
102
103 #define FIX_DIV(c, a, b) \
104 { \
105 FIX_DIV_SC DWORD temp, rem, btemp; \
106 \
107 /* fraction done bytewise */ \
108 temp = ((a / b) << 16); \
109 rem = a % b; \
110 btemp = b; \
111 if (INT(btemp) < 256) { \
112 rem <<= 8; \
113 } \
114 else { \
115 btemp >>= 8; \
116 } \
117 temp += ((rem / btemp) << 8); \
118 rem %= btemp; \
119 rem <<= 8; \
120 temp += rem / btemp; \
121 c = temp; \
122 }
123#endif
124
125/* -------------------------------------------------------------------------- */
126/* INFO DATA DEFS */
127
128#ifndef NOWTINFO
129
130#ifndef NOWTAXIS
131
132typedef struct tagAXIS {
133 LONG axMin;
134 LONG axMax;
135 UINT axUnits;
136 FIX32 axResolution;
137} AXIS, *PAXIS, NEAR *NPAXIS, FAR *LPAXIS;
138
139 /* unit specifiers */
140 #define TU_NONE 0
141 #define TU_INCHES 1
142 #define TU_CENTIMETERS 2
143 #define TU_CIRCLE 3
144
145#endif
146
147#ifndef NOWTSYSBUTTONS
148
149/* system button assignment values */
150#define SBN_NONE 0x00
151#define SBN_LCLICK 0x01
152#define SBN_LDBLCLICK 0x02
153#define SBN_LDRAG 0x03
154#define SBN_RCLICK 0x04
155#define SBN_RDBLCLICK 0x05
156#define SBN_RDRAG 0x06
157#define SBN_MCLICK 0x07
158#define SBN_MDBLCLICK 0x08
159#define SBN_MDRAG 0x09
160/* for Pen Windows */
161#define SBN_PTCLICK 0x10
162#define SBN_PTDBLCLICK 0x20
163#define SBN_PTDRAG 0x30
164#define SBN_PNCLICK 0x40
165#define SBN_PNDBLCLICK 0x50
166#define SBN_PNDRAG 0x60
167#define SBN_P1CLICK 0x70
168#define SBN_P1DBLCLICK 0x80
169#define SBN_P1DRAG 0x90
170#define SBN_P2CLICK 0xA0
171#define SBN_P2DBLCLICK 0xB0
172#define SBN_P2DRAG 0xC0
173#define SBN_P3CLICK 0xD0
174#define SBN_P3DBLCLICK 0xE0
175#define SBN_P3DRAG 0xF0
176
177#endif
178
179#ifndef NOWTCAPABILITIES
180
181/* hardware capabilities */
182#define HWC_INTEGRATED 0x0001
183#define HWC_TOUCH 0x0002
184#define HWC_HARDPROX 0x0004
185#define HWC_PHYSID_CURSORS 0x0008 /* 1.1 */
186#endif
187
188#ifndef NOWTIFC
189
190#ifndef NOWTCURSORS
191
192/* cursor capabilities */
193#define CRC_MULTIMODE 0x0001 /* 1.1 */
194#define CRC_AGGREGATE 0x0002 /* 1.1 */
195#define CRC_INVERT 0x0004 /* 1.1 */
196
197#endif
198
199/* info categories */
200#define WTI_INTERFACE 1
201 #define IFC_WINTABID 1
202 #define IFC_SPECVERSION 2
203 #define IFC_IMPLVERSION 3
204 #define IFC_NDEVICES 4
205 #define IFC_NCURSORS 5
206 #define IFC_NCONTEXTS 6
207 #define IFC_CTXOPTIONS 7
208 #define IFC_CTXSAVESIZE 8
209 #define IFC_NEXTENSIONS 9
210 #define IFC_NMANAGERS 10
211 #define IFC_MAX 10
212
213
214#endif
215
216#ifndef NOWTSTATUS
217
218#define WTI_STATUS 2
219 #define STA_CONTEXTS 1
220 #define STA_SYSCTXS 2
221 #define STA_PKTRATE 3
222 #define STA_PKTDATA 4
223 #define STA_MANAGERS 5
224 #define STA_SYSTEM 6
225 #define STA_BUTTONUSE 7
226 #define STA_SYSBTNUSE 8
227 #define STA_MAX 8
228
229#endif
230
231#ifndef NOWTDEFCONTEXT
232
233#define WTI_DEFCONTEXT 3
234#define WTI_DEFSYSCTX 4
235#define WTI_DDCTXS 400 /* 1.1 */
236#define WTI_DSCTXS 500 /* 1.1 */
237 #define CTX_NAME 1
238 #define CTX_OPTIONS 2
239 #define CTX_STATUS 3
240 #define CTX_LOCKS 4
241 #define CTX_MSGBASE 5
242 #define CTX_DEVICE 6
243 #define CTX_PKTRATE 7
244 #define CTX_PKTDATA 8
245 #define CTX_PKTMODE 9
246 #define CTX_MOVEMASK 10
247 #define CTX_BTNDNMASK 11
248 #define CTX_BTNUPMASK 12
249 #define CTX_INORGX 13
250 #define CTX_INORGY 14
251 #define CTX_INORGZ 15
252 #define CTX_INEXTX 16
253 #define CTX_INEXTY 17
254 #define CTX_INEXTZ 18
255 #define CTX_OUTORGX 19
256 #define CTX_OUTORGY 20
257 #define CTX_OUTORGZ 21
258 #define CTX_OUTEXTX 22
259 #define CTX_OUTEXTY 23
260 #define CTX_OUTEXTZ 24
261 #define CTX_SENSX 25
262 #define CTX_SENSY 26
263 #define CTX_SENSZ 27
264 #define CTX_SYSMODE 28
265 #define CTX_SYSORGX 29
266 #define CTX_SYSORGY 30
267 #define CTX_SYSEXTX 31
268 #define CTX_SYSEXTY 32
269 #define CTX_SYSSENSX 33
270 #define CTX_SYSSENSY 34
271 #define CTX_MAX 34
272
273#endif
274
275#ifndef NOWTDEVICES
276
277#define WTI_DEVICES 100
278 #define DVC_NAME 1
279 #define DVC_HARDWARE 2
280 #define DVC_NCSRTYPES 3
281 #define DVC_FIRSTCSR 4
282 #define DVC_PKTRATE 5
283 #define DVC_PKTDATA 6
284 #define DVC_PKTMODE 7
285 #define DVC_CSRDATA 8
286 #define DVC_XMARGIN 9
287 #define DVC_YMARGIN 10
288 #define DVC_ZMARGIN 11
289 #define DVC_X 12
290 #define DVC_Y 13
291 #define DVC_Z 14
292 #define DVC_NPRESSURE 15
293 #define DVC_TPRESSURE 16
294 #define DVC_ORIENTATION 17
295 #define DVC_ROTATION 18 /* 1.1 */
296 #define DVC_PNPID 19 /* 1.1 */
297 #define DVC_MAX 19
298
299#endif
300
301#ifndef NOWTCURSORS
302
303#define WTI_CURSORS 200
304 #define CSR_NAME 1
305 #define CSR_ACTIVE 2
306 #define CSR_PKTDATA 3
307 #define CSR_BUTTONS 4
308 #define CSR_BUTTONBITS 5
309 #define CSR_BTNNAMES 6
310 #define CSR_BUTTONMAP 7
311 #define CSR_SYSBTNMAP 8
312 #define CSR_NPBUTTON 9
313 #define CSR_NPBTNMARKS 10
314 #define CSR_NPRESPONSE 11
315 #define CSR_TPBUTTON 12
316 #define CSR_TPBTNMARKS 13
317 #define CSR_TPRESPONSE 14
318 #define CSR_PHYSID 15 /* 1.1 */
319 #define CSR_MODE 16 /* 1.1 */
320 #define CSR_MINPKTDATA 17 /* 1.1 */
321 #define CSR_MINBUTTONS 18 /* 1.1 */
322 #define CSR_CAPABILITIES 19 /* 1.1 */
323 #define CSR_TYPE 20 /* 1.2 */
324 #define CSR_MAX 20
325
326#endif
327
328#ifndef NOWTEXTENSIONS
329
330#define WTI_EXTENSIONS 300
331 #define EXT_NAME 1
332 #define EXT_TAG 2
333 #define EXT_MASK 3
334 #define EXT_SIZE 4
335 #define EXT_AXES 5
336 #define EXT_DEFAULT 6
337 #define EXT_DEFCONTEXT 7
338 #define EXT_DEFSYSCTX 8
339 #define EXT_CURSORS 9
340 #define EXT_MAX 109 /* Allow 100 cursors */
341
342#endif
343
344#endif
345
346/* -------------------------------------------------------------------------- */
347/* CONTEXT DATA DEFS */
348
349#define LCNAMELEN 40
350#define LC_NAMELEN 40
351#ifdef WIN32
352typedef struct tagLOGCONTEXTA {
353 char lcName[LCNAMELEN];
354 UINT lcOptions;
355 UINT lcStatus;
356 UINT lcLocks;
357 UINT lcMsgBase;
358 UINT lcDevice;
359 UINT lcPktRate;
360 WTPKT lcPktData;
361 WTPKT lcPktMode;
362 WTPKT lcMoveMask;
363 DWORD lcBtnDnMask;
364 DWORD lcBtnUpMask;
365 LONG lcInOrgX;
366 LONG lcInOrgY;
367 LONG lcInOrgZ;
368 LONG lcInExtX;
369 LONG lcInExtY;
370 LONG lcInExtZ;
371 LONG lcOutOrgX;
372 LONG lcOutOrgY;
373 LONG lcOutOrgZ;
374 LONG lcOutExtX;
375 LONG lcOutExtY;
376 LONG lcOutExtZ;
377 FIX32 lcSensX;
378 FIX32 lcSensY;
379 FIX32 lcSensZ;
380 BOOL lcSysMode;
381 int lcSysOrgX;
382 int lcSysOrgY;
383 int lcSysExtX;
384 int lcSysExtY;
385 FIX32 lcSysSensX;
386 FIX32 lcSysSensY;
387} LOGCONTEXTA, *PLOGCONTEXTA, NEAR *NPLOGCONTEXTA, FAR *LPLOGCONTEXTA;
388typedef struct tagLOGCONTEXTW {
389 WCHAR lcName[LCNAMELEN];
390 UINT lcOptions;
391 UINT lcStatus;
392 UINT lcLocks;
393 UINT lcMsgBase;
394 UINT lcDevice;
395 UINT lcPktRate;
396 WTPKT lcPktData;
397 WTPKT lcPktMode;
398 WTPKT lcMoveMask;
399 DWORD lcBtnDnMask;
400 DWORD lcBtnUpMask;
401 LONG lcInOrgX;
402 LONG lcInOrgY;
403 LONG lcInOrgZ;
404 LONG lcInExtX;
405 LONG lcInExtY;
406 LONG lcInExtZ;
407 LONG lcOutOrgX;
408 LONG lcOutOrgY;
409 LONG lcOutOrgZ;
410 LONG lcOutExtX;
411 LONG lcOutExtY;
412 LONG lcOutExtZ;
413 FIX32 lcSensX;
414 FIX32 lcSensY;
415 FIX32 lcSensZ;
416 BOOL lcSysMode;
417 int lcSysOrgX;
418 int lcSysOrgY;
419 int lcSysExtX;
420 int lcSysExtY;
421 FIX32 lcSysSensX;
422 FIX32 lcSysSensY;
423} LOGCONTEXTW, *PLOGCONTEXTW, NEAR *NPLOGCONTEXTW, FAR *LPLOGCONTEXTW;
424#ifdef UNICODE
425typedef LOGCONTEXTW LOGCONTEXT;
426typedef PLOGCONTEXTW PLOGCONTEXT;
427typedef NPLOGCONTEXTW NPLOGCONTEXT;
428typedef LPLOGCONTEXTW LPLOGCONTEXT;
429#else
430typedef LOGCONTEXTA LOGCONTEXT;
431typedef PLOGCONTEXTA PLOGCONTEXT;
432typedef NPLOGCONTEXTA NPLOGCONTEXT;
433typedef LPLOGCONTEXTA LPLOGCONTEXT;
434#endif /* UNICODE */
435#else /* WIN32 */
436typedef struct tagLOGCONTEXT {
437 char lcName[LCNAMELEN];
438 UINT lcOptions;
439 UINT lcStatus;
440 UINT lcLocks;
441 UINT lcMsgBase;
442 UINT lcDevice;
443 UINT lcPktRate;
444 WTPKT lcPktData;
445 WTPKT lcPktMode;
446 WTPKT lcMoveMask;
447 DWORD lcBtnDnMask;
448 DWORD lcBtnUpMask;
449 LONG lcInOrgX;
450 LONG lcInOrgY;
451 LONG lcInOrgZ;
452 LONG lcInExtX;
453 LONG lcInExtY;
454 LONG lcInExtZ;
455 LONG lcOutOrgX;
456 LONG lcOutOrgY;
457 LONG lcOutOrgZ;
458 LONG lcOutExtX;
459 LONG lcOutExtY;
460 LONG lcOutExtZ;
461 FIX32 lcSensX;
462 FIX32 lcSensY;
463 FIX32 lcSensZ;
464 BOOL lcSysMode;
465 int lcSysOrgX;
466 int lcSysOrgY;
467 int lcSysExtX;
468 int lcSysExtY;
469 FIX32 lcSysSensX;
470 FIX32 lcSysSensY;
471} LOGCONTEXT, *PLOGCONTEXT, NEAR *NPLOGCONTEXT, FAR *LPLOGCONTEXT;
472#endif /* WIN32 */
473
474 /* context option values */
475 #define CXO_SYSTEM 0x0001
476 #define CXO_PEN 0x0002
477 #define CXO_MESSAGES 0x0004
478 #define CXO_MARGIN 0x8000
479 #define CXO_MGNINSIDE 0x4000
480 #define CXO_CSRMESSAGES 0x0008 /* 1.1 */
481
482 /* context status values */
483 #define CXS_DISABLED 0x0001
484 #define CXS_OBSCURED 0x0002
485 #define CXS_ONTOP 0x0004
486
487 /* context lock values */
488 #define CXL_INSIZE 0x0001
489 #define CXL_INASPECT 0x0002
490 #define CXL_SENSITIVITY 0x0004
491 #define CXL_MARGIN 0x0008
492 #define CXL_SYSOUT 0x0010
493
494/* -------------------------------------------------------------------------- */
495/* EVENT DATA DEFS */
496
497/* For packet structure definition, see pktdef.h */
498
499/* packet status values */
500#define TPS_PROXIMITY 0x0001
501#define TPS_QUEUE_ERR 0x0002
502#define TPS_MARGIN 0x0004
503#define TPS_GRAB 0x0008
504#define TPS_INVERT 0x0010 /* 1.1 */
505
506typedef struct tagORIENTATION {
507 int orAzimuth;
508 int orAltitude;
509 int orTwist;
510} ORIENTATION, *PORIENTATION, NEAR *NPORIENTATION, FAR *LPORIENTATION;
511
512typedef struct tagROTATION { /* 1.1 */
513 int roPitch;
514 int roRoll;
515 int roYaw;
516} ROTATION, *PROTATION, NEAR *NPROTATION, FAR *LPROTATION;
517// grandfather in obsolete member names.
518#define rotPitch roPitch
519#define rotRoll roRoll
520#define rotYaw roYaw
521
522/* relative buttons */
523#define TBN_NONE 0
524#define TBN_UP 1
525#define TBN_DOWN 2
526
527/* -------------------------------------------------------------------------- */
528/* DEVICE CONFIG CONSTANTS */
529
530#ifndef NOWTDEVCFG
531
532#define WTDC_NONE 0
533#define WTDC_CANCEL 1
534#define WTDC_OK 2
535#define WTDC_RESTART 3
536
537#endif
538
539/* -------------------------------------------------------------------------- */
540/* HOOK CONSTANTS */
541
542#ifndef NOWTHOOKS
543
544#define WTH_PLAYBACK 1
545#define WTH_RECORD 2
546
547#define WTHC_GETLPLPFN (-3)
548#define WTHC_LPLPFNNEXT (-2)
549#define WTHC_LPFNNEXT (-1)
550#define WTHC_ACTION 0
551#define WTHC_GETNEXT 1
552#define WTHC_SKIP 2
553
554#endif
555
556/* -------------------------------------------------------------------------- */
557/* PREFERENCE FUNCTION CONSTANTS */
558
559#ifndef NOWTPREF
560
561#define WTP_LPDEFAULT ((LPVOID)-1L)
562#define WTP_DWDEFAULT ((DWORD)-1L)
563
564#endif
565
566/* -------------------------------------------------------------------------- */
567/* EXTENSION TAGS AND CONSTANTS */
568
569#ifndef NOWTEXTENSIONS
570
571/* constants for use with pktdef.h */
572#define PKEXT_ABSOLUTE 1
573#define PKEXT_RELATIVE 2
574
575/* Extension tags. */
576#define WTX_OBT 0 /* Out of bounds tracking */
577#define WTX_FKEYS 1 /* Function keys */
578#define WTX_TILT 2 /* Raw Cartesian tilt; 1.1 */
579#define WTX_CSRMASK 3 /* select input by cursor type; 1.1 */
580#define WTX_XBTNMASK 4 /* Extended button mask; 1.1 */
581
582typedef struct tagXBTNMASK {
583 BYTE xBtnDnMask[32];
584 BYTE xBtnUpMask[32];
585} XBTNMASK;
586
587typedef struct tagTILT { /* 1.1 */
588 int tiltX;
589 int tiltY;
590} TILT;
591
592#endif
593
594/* -------------------------------------------------------------------------- */
595/* -------------------------------------------------------------------------- */
596/* Functions */
597
598 #ifndef API
599 #ifndef WINAPI
600 #define API FAR PASCAL
601 #else
602 #define API WINAPI
603 #endif
604 #endif
605
606#ifndef NOWTCALLBACKS
607
608 #ifndef CALLBACK
609 #define CALLBACK FAR PASCAL
610 #endif
611
612 #ifndef NOWTMANAGERFXNS
613 /* callback function types */
614 typedef BOOL (WINAPI * WTENUMPROC)(HCTX, LPARAM); /* changed CALLBACK->WINAPI, 1.1 */
615 typedef BOOL (WINAPI * WTCONFIGPROC)(HCTX, HWND);
616 typedef LRESULT (WINAPI * WTHOOKPROC)(int, WPARAM, LPARAM);
617 typedef WTHOOKPROC FAR *LPWTHOOKPROC;
618 #endif
619
620#endif
621
622
623#ifndef NOWTFUNCTIONS
624
625 #ifndef NOWTBASICFXNS
626 /* BASIC FUNCTIONS */
627#ifdef WIN32
628 UINT API WTInfoA(UINT, UINT, LPVOID);
629 #define ORD_WTInfoA 20
630 UINT API WTInfoW(UINT, UINT, LPVOID);
631 #define ORD_WTInfoW 1020
632 #ifdef UNICODE
633 #define WTInfo WTInfoW
634 #define ORD_WTInfo ORD_WTInfoW
635 #else
636 #define WTInfo WTInfoA
637 #define ORD_WTInfo ORD_WTInfoA
638 #endif /* !UNICODE */
639#else
640 UINT API WTInfo(UINT, UINT, LPVOID);
641 #define ORD_WTInfo 20
642#endif
643#ifdef WIN32
644 HCTX API WTOpenA(HWND, LPLOGCONTEXTA, BOOL);
645 #define ORD_WTOpenA 21
646 HCTX API WTOpenW(HWND, LPLOGCONTEXTW, BOOL);
647 #define ORD_WTOpenW 1021
648 #ifdef UNICODE
649 #define WTOpen WTOpenW
650 #define ORD_WTOpen ORD_WTOpenW
651 #else
652 #define WTOpen WTOpenA
653 #define ORD_WTOpen ORD_WTOpenA
654 #endif /* !UNICODE */
655#else
656 HCTX API WTOpen(HWND, LPLOGCONTEXT, BOOL);
657 #define ORD_WTOpen 21
658#endif
659 BOOL API WTClose(HCTX);
660 #define ORD_WTClose 22
661 int API WTPacketsGet(HCTX, int, LPVOID);
662 #define ORD_WTPacketsGet 23
663 BOOL API WTPacket(HCTX, UINT, LPVOID);
664 #define ORD_WTPacket 24
665 #endif
666
667 #ifndef NOWTVISIBILITYFXNS
668 /* VISIBILITY FUNCTIONS */
669 BOOL API WTEnable(HCTX, BOOL);
670 #define ORD_WTEnable 40
671 BOOL API WTOverlap(HCTX, BOOL);
672 #define ORD_WTOverlap 41
673 #endif
674
675 #ifndef NOWTCTXEDITFXNS
676 /* CONTEXT EDITING FUNCTIONS */
677 BOOL API WTConfig(HCTX, HWND);
678 #define ORD_WTConfig 60
679#ifdef WIN32
680 BOOL API WTGetA(HCTX, LPLOGCONTEXTA);
681 #define ORD_WTGetA 61
682 BOOL API WTGetW(HCTX, LPLOGCONTEXTW);
683 #define ORD_WTGetW 1061
684 #ifdef UNICODE
685 #define WTGet WTGetW
686 #define ORD_WTGet ORD_WTGetW
687 #else
688 #define WTGet WTGetA
689 #define ORD_WTGet ORD_WTGetA
690 #endif /* !UNICODE */
691#else
692 BOOL API WTGet(HCTX, LPLOGCONTEXT);
693 #define ORD_WTGet 61
694#endif
695#ifdef WIN32
696 BOOL API WTSetA(HCTX, LPLOGCONTEXTA);
697 #define ORD_WTSetA 62
698 BOOL API WTSetW(HCTX, LPLOGCONTEXTW);
699 #define ORD_WTSetW 1062
700 #ifdef UNICODE
701 #define WTSet WTSetW
702 #define ORD_WTSet ORD_WTSetW
703 #else
704 #define WTSet WTSetA
705 #define ORD_WTSet ORD_WTSetA
706 #endif /* !UNICODE */
707#else
708 BOOL API WTSet(HCTX, LPLOGCONTEXT);
709 #define ORD_WTSet 62
710#endif
711 BOOL API WTExtGet(HCTX, UINT, LPVOID);
712 #define ORD_WTExtGet 63
713 BOOL API WTExtSet(HCTX, UINT, LPVOID);
714 #define ORD_WTExtSet 64
715 BOOL API WTSave(HCTX, LPVOID);
716 #define ORD_WTSave 65
717 HCTX API WTRestore(HWND, LPVOID, BOOL);
718 #define ORD_WTRestore 66
719 #endif
720
721 #ifndef NOWTQUEUEFXNS
722 /* ADVANCED PACKET AND QUEUE FUNCTIONS */
723 int API WTPacketsPeek(HCTX, int, LPVOID);
724 #define ORD_WTPacketsPeek 80
725 int API WTDataGet(HCTX, UINT, UINT, int, LPVOID, LPINT);
726 #define ORD_WTDataGet 81
727 int API WTDataPeek(HCTX, UINT, UINT, int, LPVOID, LPINT);
728 #define ORD_WTDataPeek 82
729#ifndef WIN32
730/* OBSOLETE IN WIN32! */
731 DWORD API WTQueuePackets(HCTX);
732 #define ORD_WTQueuePackets 83
733#endif
734 int API WTQueueSizeGet(HCTX);
735 #define ORD_WTQueueSizeGet 84
736 BOOL API WTQueueSizeSet(HCTX, int);
737 #define ORD_WTQueueSizeSet 85
738 #endif
739
740 #ifndef NOWTHMGRFXNS
741 /* MANAGER HANDLE FUNCTIONS */
742 HMGR API WTMgrOpen(HWND, UINT);
743 #define ORD_WTMgrOpen 100
744 BOOL API WTMgrClose(HMGR);
745 #define ORD_WTMgrClose 101
746 #endif
747
748 #ifndef NOWTMGRCTXFXNS
749 /* MANAGER CONTEXT FUNCTIONS */
750 BOOL API WTMgrContextEnum(HMGR, WTENUMPROC, LPARAM);
751 #define ORD_WTMgrContextEnum 120
752 HWND API WTMgrContextOwner(HMGR, HCTX);
753 #define ORD_WTMgrContextOwner 121
754 HCTX API WTMgrDefContext(HMGR, BOOL);
755 #define ORD_WTMgrDefContext 122
756 HCTX API WTMgrDefContextEx(HMGR, UINT, BOOL); /* 1.1 */
757 #define ORD_WTMgrDefContextEx 206
758 #endif
759
760 #ifndef NOWTMGRCONFIGFXNS
761 /* MANAGER CONFIG BOX FUNCTIONS */
762 UINT API WTMgrDeviceConfig(HMGR, UINT, HWND);
763 #define ORD_WTMgrDeviceConfig 140
764#ifndef WIN32
765/* OBSOLETE IN WIN32! */
766 BOOL API WTMgrConfigReplace(HMGR, BOOL, WTCONFIGPROC);
767 #define ORD_WTMgrConfigReplace 141
768#endif
769 #endif
770
771 #ifndef NOWTMGRHOOKFXNS
772 /* MANAGER PACKET HOOK FUNCTIONS */
773#ifndef WIN32
774/* OBSOLETE IN WIN32! */
775 WTHOOKPROC API WTMgrPacketHook(HMGR, BOOL, int, WTHOOKPROC);
776 #define ORD_WTMgrPacketHook 160
777 LRESULT API WTMgrPacketHookDefProc(int, WPARAM, LPARAM, LPWTHOOKPROC);
778 #define ORD_WTMgrPacketHookDefProc 161
779#endif
780 #endif
781
782 #ifndef NOWTMGRPREFFXNS
783 /* MANAGER PREFERENCE DATA FUNCTIONS */
784 BOOL API WTMgrExt(HMGR, UINT, LPVOID);
785 #define ORD_WTMgrExt 180
786 BOOL API WTMgrCsrEnable(HMGR, UINT, BOOL);
787 #define ORD_WTMgrCsrEnable 181
788 BOOL API WTMgrCsrButtonMap(HMGR, UINT, LPBYTE, LPBYTE);
789 #define ORD_WTMgrCsrButtonMap 182
790 BOOL API WTMgrCsrPressureBtnMarks(HMGR, UINT, DWORD, DWORD);
791 #define ORD_WTMgrCsrPressureBtnMarks 183
792 BOOL API WTMgrCsrPressureResponse(HMGR, UINT, UINT FAR *, UINT FAR *);
793 #define ORD_WTMgrCsrPressureResponse 184
794 BOOL API WTMgrCsrExt(HMGR, UINT, UINT, LPVOID);
795 #define ORD_WTMgrCsrExt 185
796 #endif
797
798/* Win32 replacements for non-portable functions. */
799 #ifndef NOWTQUEUEFXNS
800 /* ADVANCED PACKET AND QUEUE FUNCTIONS */
801 BOOL API WTQueuePacketsEx(HCTX, UINT FAR *, UINT FAR *);
802 #define ORD_WTQueuePacketsEx 200
803 #endif
804
805 #ifndef NOWTMGRCONFIGFXNS
806 /* MANAGER CONFIG BOX FUNCTIONS */
807#ifdef WIN32
808 BOOL API WTMgrConfigReplaceExA(HMGR, BOOL, LPSTR, LPSTR);
809 #define ORD_WTMgrConfigReplaceExA 202
810 BOOL API WTMgrConfigReplaceExW(HMGR, BOOL, LPWSTR, LPSTR);
811 #define ORD_WTMgrConfigReplaceExW 1202
812 #ifdef UNICODE
813 #define WTMgrConfigReplaceEx WTMgrConfigReplaceExW
814 #define ORD_WTMgrConfigReplaceEx ORD_WTMgrConfigReplaceExW
815 #else
816 #define WTMgrConfigReplaceEx WTMgrConfigReplaceExA
817 #define ORD_WTMgrConfigReplaceEx ORD_WTMgrConfigReplaceExA
818 #endif /* !UNICODE */
819#else
820 BOOL API WTMgrConfigReplaceEx(HMGR, BOOL, LPSTR, LPSTR);
821 #define ORD_WTMgrConfigReplaceEx 202
822#endif
823 #endif
824
825 #ifndef NOWTMGRHOOKFXNS
826 /* MANAGER PACKET HOOK FUNCTIONS */
827#ifdef WIN32
828 HWTHOOK API WTMgrPacketHookExA(HMGR, int, LPSTR, LPSTR);
829 #define ORD_WTMgrPacketHookExA 203
830 HWTHOOK API WTMgrPacketHookExW(HMGR, int, LPWSTR, LPSTR);
831 #define ORD_WTMgrPacketHookExW 1203
832 #ifdef UNICODE
833 #define WTMgrPacketHookEx WTMgrPacketHookExW
834 #define ORD_WTMgrPacketHookEx ORD_WTMgrPacketHookExW
835 #else
836 #define WTMgrPacketHookEx WTMgrPacketHookExA
837 #define ORD_WTMgrPacketHookEx ORD_WTMgrPacketHookExA
838 #endif /* !UNICODE */
839#else
840 HWTHOOK API WTMgrPacketHookEx(HMGR, int, LPSTR, LPSTR);
841 #define ORD_WTMgrPacketHookEx 203
842#endif
843 BOOL API WTMgrPacketUnhook(HWTHOOK);
844 #define ORD_WTMgrPacketUnhook 204
845 LRESULT API WTMgrPacketHookNext(HWTHOOK, int, WPARAM, LPARAM);
846 #define ORD_WTMgrPacketHookNext 205
847 #endif
848
849 #ifndef NOWTMGRPREFFXNS
850 /* MANAGER PREFERENCE DATA FUNCTIONS */
851 BOOL API WTMgrCsrPressureBtnMarksEx(HMGR, UINT, UINT FAR *, UINT FAR *);
852 #define ORD_WTMgrCsrPressureBtnMarksEx 201
853 #endif
854
855
856
857#endif
858
859#ifdef __cplusplus
860}
861#endif /* __cplusplus */
862
863#endif /* #define _INC_WINTAB */
864
Note: See TracBrowser for help on using the repository browser.