VirtualBox

source: vbox/trunk/src/VBox/Devices/Graphics/shaderlib/wine/include/wintab.h@ 53201

最後變更 在這個檔案從53201是 53201,由 vboxsync 提交於 10 年 前

Devices/Main: vmsvga updates

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

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette