widl: Always check the runtimeclass interfaces presence.
[wine/zf.git] / dlls / wintab.dll16 / wintab.c
blobcd8bcf6b66fe7723ea031838492ee17df91870ad
1 /*
2 * Tablet Win16
4 * Copyright 2002 Patrik Stridvall
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
21 #include <stdarg.h>
23 #include "windef.h"
24 #include "winbase.h"
26 #include "wintab.h"
28 #include "wine/windef16.h"
29 #include "wine/debug.h"
31 WINE_DEFAULT_DEBUG_CHANNEL(wintab);
33 /**********************************************************************/
35 #define DECLARE_HANDLE16(a) \
36 typedef HANDLE16 a##16; \
37 typedef a##16 *P##a##16; \
38 typedef a##16 *NP##a##16; \
39 typedef a##16 *LP##a##16
41 DECLARE_HANDLE16(HMGR); /* manager handle */
42 DECLARE_HANDLE16(HCTX); /* context handle */
43 DECLARE_HANDLE16(HWTHOOK); /* hook handle */
45 /**********************************************************************/
47 typedef struct tagLOGCONTEXT16 {
48 char lcName[LCNAMELEN];
49 UINT16 lcOptions;
50 UINT16 lcStatus;
51 UINT16 lcLocks;
52 UINT16 lcMsgBase;
53 UINT16 lcDevice;
54 UINT16 lcPktRate;
55 WTPKT lcPktData;
56 WTPKT lcPktMode;
57 WTPKT lcMoveMask;
58 DWORD lcBtnDnMask;
59 DWORD lcBtnUpMask;
60 LONG lcInOrgX;
61 LONG lcInOrgY;
62 LONG lcInOrgZ;
63 LONG lcInExtX;
64 LONG lcInExtY;
65 LONG lcInExtZ;
66 LONG lcOutOrgX;
67 LONG lcOutOrgY;
68 LONG lcOutOrgZ;
69 LONG lcOutExtX;
70 LONG lcOutExtY;
71 LONG lcOutExtZ;
72 FIX32 lcSensX;
73 FIX32 lcSensY;
74 FIX32 lcSensZ;
75 BOOL16 lcSysMode;
76 INT16 lcSysOrgX;
77 INT16 lcSysOrgY;
78 INT16 lcSysExtX;
79 INT16 lcSysExtY;
80 FIX32 lcSysSensX;
81 FIX32 lcSysSensY;
82 } LOGCONTEXT16, *PLOGCONTEXT16, *NPLOGCONTEXT16, *LPLOGCONTEXT16;
84 /**********************************************************************/
86 typedef BOOL16 (WINAPI * WTENUMPROC16)(HCTX16, LPARAM); /* changed CALLBACK->WINAPI, 1.1 */
87 typedef BOOL16 (WINAPI * WTCONFIGPROC16)(HCTX16, HWND16);
88 typedef LRESULT (WINAPI * WTHOOKPROC16)(INT16, WPARAM16, LPARAM);
89 typedef WTHOOKPROC16 *LPWTHOOKPROC16;
91 /***********************************************************************
92 * WTInfo (WINTAB.20)
94 UINT16 WINAPI WTInfo16(UINT16 wCategory, UINT16 nIndex, LPVOID lpOutput)
96 FIXME("(%hu, %hu, %p): stub\n", wCategory, nIndex, lpOutput);
98 return 0;
101 /***********************************************************************
102 * WTOpen (WINTAB.21)
104 HCTX16 WINAPI WTOpen16(HWND16 hWnd, LPLOGCONTEXT16 lpLogCtx, BOOL16 fEnable)
106 FIXME("(0x%04hx, %p, %hu): stub\n", hWnd, lpLogCtx, fEnable);
108 return 0;
111 /***********************************************************************
112 * WTClose (WINTAB.22)
114 BOOL16 WINAPI WTClose16(HCTX16 hCtx)
116 FIXME("(0x%04hx): stub\n", hCtx);
118 return TRUE;
121 /***********************************************************************
122 * WTPacketsGet (WINTAB.23)
124 INT16 WINAPI WTPacketsGet16(HCTX16 hCtx, INT16 cMaxPkts, LPVOID lpPkts)
126 FIXME("(0x%04hx, %hd, %p): stub\n", hCtx, cMaxPkts, lpPkts);
128 return 0;
131 /***********************************************************************
132 * WTPacket (WINTAB.24)
134 BOOL16 WINAPI WTPacket16(HCTX16 hCtx, UINT16 wSerial, LPVOID lpPkt)
136 FIXME("(0x%04hx, %hd, %p): stub\n", hCtx, wSerial, lpPkt);
138 return FALSE;
141 /***********************************************************************
142 * WTEnable (WINTAB.40)
144 BOOL16 WINAPI WTEnable16(HCTX16 hCtx, BOOL16 fEnable)
146 FIXME("(0x%04hx, %hu): stub\n", hCtx, fEnable);
148 return FALSE;
151 /***********************************************************************
152 * WTOverlap (WINTAB.41)
154 BOOL16 WINAPI WTOverlap16(HCTX16 hCtx, BOOL16 fToTop)
156 FIXME("(0x%04hx, %hu): stub\n", hCtx, fToTop);
158 return FALSE;
161 /***********************************************************************
162 * WTConfig (WINTAB.60)
164 BOOL16 WINAPI WTConfig16(HCTX16 hCtx, HWND16 hWnd)
166 FIXME("(0x%04hx, 0x%04hx): stub\n", hCtx, hWnd);
168 return FALSE;
171 /***********************************************************************
172 * WTGet (WINTAB.61)
174 BOOL16 WINAPI WTGet16(HCTX16 hCtx, LPLOGCONTEXT16 lpLogCtx)
176 FIXME("(0x%04hx, %p): stub\n", hCtx, lpLogCtx);
178 return FALSE;
181 /***********************************************************************
182 * WTSet (WINTAB.62)
184 BOOL16 WINAPI WTSet16(HCTX16 hCtx, LPLOGCONTEXT16 lpLogCtx)
186 FIXME("(0x%04hx, %p): stub\n", hCtx, lpLogCtx);
188 return FALSE;
191 /***********************************************************************
192 * WTExtGet (WINTAB.63)
194 BOOL16 WINAPI WTExtGet16(HCTX16 hCtx, UINT16 wExt, LPVOID lpData)
196 FIXME("(0x%04hx, %hu, %p): stub\n", hCtx, wExt, lpData);
198 return FALSE;
201 /***********************************************************************
202 * WTExtSet (WINTAB.64)
204 BOOL16 WINAPI WTExtSet16(HCTX16 hCtx, UINT16 wExt, LPVOID lpData)
206 FIXME("(0x%04hx, %hu, %p): stub\n", hCtx, wExt, lpData);
208 return FALSE;
211 /***********************************************************************
212 * WTSave (WINTAB.65)
214 BOOL16 WINAPI WTSave16(HCTX16 hCtx, LPVOID lpSaveInfo)
216 FIXME("(0x%04hx, %p): stub\n", hCtx, lpSaveInfo);
218 return FALSE;
221 /***********************************************************************
222 * WTRestore (WINTAB.66)
224 HCTX16 WINAPI WTRestore16(HWND16 hWnd, LPVOID lpSaveInfo, BOOL16 fEnable)
226 FIXME("(0x%04hx, %p, %hu): stub\n", hWnd, lpSaveInfo, fEnable);
228 return 0;
231 /***********************************************************************
232 * WTPacketsPeek (WINTAB.80)
234 INT16 WINAPI WTPacketsPeek16(HCTX16 hCtx, INT16 cMaxPkts, LPVOID lpPkts)
236 FIXME("(0x%04hx, %hd, %p): stub\n", hCtx, cMaxPkts, lpPkts);
238 return 0;
241 /***********************************************************************
242 * WTDataGet (WINTAB.81)
244 INT16 WINAPI WTDataGet16(HCTX16 hCtx, UINT16 wBegin, UINT16 wEnd,
245 INT16 cMaxPkts, LPVOID lpPkts, LPINT16 lpNPkts)
247 FIXME("(0x%04hx, %hu, %hu, %hd, %p, %p): stub\n",
248 hCtx, wBegin, wEnd, cMaxPkts, lpPkts, lpNPkts);
250 return 0;
253 /***********************************************************************
254 * WTDataPeek (WINTAB.82)
256 INT16 WINAPI WTDataPeek16(HCTX16 hCtx, UINT16 wBegin, UINT16 wEnd,
257 INT16 cMaxPkts, LPVOID lpPkts, LPINT16 lpNPkts)
259 FIXME("(0x%04hx, %hu, %hu, %hd, %p, %p): stub\n",
260 hCtx, wBegin, wEnd, cMaxPkts, lpPkts, lpNPkts);
262 return 0;
265 /***********************************************************************
266 * WTQueuePackets (WINTAB.83)
268 * OBSOLETE IN WIN32!
270 DWORD WINAPI WTQueuePackets16(HCTX16 hCtx)
272 FIXME("(0x%04hx): stub\n", hCtx);
274 return 0;
277 /***********************************************************************
278 * WTQueuePacketsEx (WINTAB.200)
280 BOOL16 WINAPI WTQueuePacketsEx16(HCTX16 hCtx, UINT16 *lpOld, UINT16 *lpNew)
282 FIXME("(0x%04hx, %p, %p): stub\n", hCtx, lpOld, lpNew);
284 return TRUE;
287 /***********************************************************************
288 * WTQueueSizeGet (WINTAB.84)
290 INT16 WINAPI WTQueueSizeGet16(HCTX16 hCtx)
292 FIXME("(0x%04hx): stub\n", hCtx);
294 return 0;
297 /***********************************************************************
298 * WTQueueSizeSet (WINTAB.85)
300 BOOL16 WINAPI WTQueueSizeSet16(HCTX16 hCtx, INT16 nPkts)
302 FIXME("(0x%04hx, %hd): stub\n", hCtx, nPkts);
304 return FALSE;
307 /***********************************************************************
308 * WTMgrOpen (WINTAB.100)
310 HMGR16 WINAPI WTMgrOpen16(HWND16 hWnd, UINT16 wMsgBase)
312 FIXME("(0x%04hx, %hu): stub\n", hWnd, wMsgBase);
314 return 0;
317 /***********************************************************************
318 * WTMgrClose (WINTAB.101)
320 BOOL16 WINAPI WTMgrClose16(HMGR16 hMgr)
322 FIXME("(0x%04hx): stub\n", hMgr);
324 return FALSE;
327 /***********************************************************************
328 * WTMgrContextEnum (WINTAB.120)
330 BOOL16 WINAPI WTMgrContextEnum16(HMGR16 hMgr, WTENUMPROC16 lpEnumFunc, LPARAM lParam)
332 FIXME("(0x%04hx, %p, %ld): stub\n", hMgr, lpEnumFunc, lParam);
334 return FALSE;
337 /***********************************************************************
338 * WTMgrContextOwner (WINTAB.121)
340 HWND16 WINAPI WTMgrContextOwner16(HMGR16 hMgr, HCTX16 hCtx)
342 FIXME("(0x%04hx, 0x%04hx): stub\n", hMgr, hCtx);
344 return 0;
347 /***********************************************************************
348 * WTMgrDefContext (WINTAB.122)
350 HCTX16 WINAPI WTMgrDefContext16(HMGR16 hMgr, BOOL16 fSystem)
352 FIXME("(0x%04hx, %hu): stub\n", hMgr, fSystem);
354 return 0;
357 /***********************************************************************
358 * WTMgrDefContextEx (WINTAB.206)
360 * 1.1
362 HCTX16 WINAPI WTMgrDefContextEx16(HMGR16 hMgr, UINT16 wDevice, BOOL16 fSystem)
364 FIXME("(0x%04hx, %hu, %hu): stub\n", hMgr, wDevice, fSystem);
366 return 0;
369 /***********************************************************************
370 * WTMgrDeviceConfig (WINTAB.140)
372 UINT16 WINAPI WTMgrDeviceConfig16(HMGR16 hMgr, UINT16 wDevice, HWND16 hWnd)
374 FIXME("(0x%04hx, %hu, 0x%04hx): stub\n", hMgr, wDevice, hWnd);
376 return 0;
379 /***********************************************************************
380 * WTMgrConfigReplace (WINTAB.141)
382 * OBSOLETE IN WIN32!
384 BOOL16 WINAPI WTMgrConfigReplace16(HMGR16 hMgr, BOOL16 fInstall,
385 WTCONFIGPROC16 lpConfigProc)
387 FIXME("(0x%04hx, %hu, %p): stub\n", hMgr, fInstall, lpConfigProc);
389 return FALSE;
392 /***********************************************************************
393 * WTMgrConfigReplaceEx (WINTAB.202)
395 BOOL16 WINAPI WTMgrConfigReplaceEx16(HMGR16 hMgr, BOOL16 fInstall,
396 LPSTR lpszModule, LPSTR lpszCfgProc)
398 FIXME("(0x%04hx, %hu, %s, %s): stub\n", hMgr, fInstall,
399 debugstr_a(lpszModule), debugstr_a(lpszCfgProc));
401 return FALSE;
404 /***********************************************************************
405 * WTMgrPacketHook (WINTAB.160)
407 * OBSOLETE IN WIN32!
409 WTHOOKPROC16 WINAPI WTMgrPacketHook16(HMGR16 hMgr, BOOL16 fInstall,
410 INT16 nType, WTHOOKPROC16 lpFunc)
412 FIXME("(0x%04hx, %hu, %hd, %p): stub\n", hMgr, fInstall, nType, lpFunc);
414 return 0;
417 /***********************************************************************
418 * WTMgrPacketHookEx (WINTAB.203)
420 HWTHOOK16 WINAPI WTMgrPacketHookEx16(HMGR16 hMgr, INT16 nType,
421 LPSTR lpszModule, LPSTR lpszHookProc)
423 FIXME("(0x%04hx, %hd, %s, %s): stub\n", hMgr, nType,
424 debugstr_a(lpszModule), debugstr_a(lpszHookProc));
426 return 0;
429 /***********************************************************************
430 * WTMgrPacketUnhook (WINTAB.204)
432 BOOL16 WINAPI WTMgrPacketUnhook16(HWTHOOK16 hHook)
434 FIXME("(0x%04hx): stub\n", hHook);
436 return FALSE;
439 /***********************************************************************
440 * WTMgrPacketHookDefProc (WINTAB.161)
442 * OBSOLETE IN WIN32!
444 LRESULT WINAPI WTMgrPacketHookDefProc16(INT16 nCode, WPARAM16 wParam,
445 LPARAM lParam, LPWTHOOKPROC16 lplpFunc)
447 FIXME("(%hd, %hu, %lu, %p): stub\n", nCode, wParam, lParam, lplpFunc);
449 return 0;
452 /***********************************************************************
453 * WTMgrPacketHookNext (WINTAB.205)
455 LRESULT WINAPI WTMgrPacketHookNext16(HWTHOOK16 hHook, INT16 nCode,
456 WPARAM16 wParam, LPARAM lParam)
458 FIXME("(0x%04hx, %hd, %hu, %lu): stub\n", hHook, nCode, wParam, lParam);
460 return 0;
464 /***********************************************************************
465 * WTMgrExt (WINTAB.180)
467 BOOL16 WINAPI WTMgrExt16(HMGR16 hMgr, UINT16 wExt, LPVOID lpData)
469 FIXME("(0x%04hx, %hu, %p): stub\n", hMgr, wExt, lpData);
471 return FALSE;
474 /***********************************************************************
475 * WTMgrCsrEnable (WINTAB.181)
477 BOOL16 WINAPI WTMgrCsrEnable16(HMGR16 hMgr, UINT16 wCursor, BOOL16 fEnable)
479 FIXME("(0x%04hx, %hu, %hu): stub\n", hMgr, wCursor, fEnable);
481 return FALSE;
484 /***********************************************************************
485 * WTMgrCsrButtonMap (WINTAB.182)
487 BOOL16 WINAPI WTMgrCsrButtonMap16(HMGR16 hMgr, UINT16 wCursor,
488 LPBYTE lpLogBtns, LPBYTE lpSysBtns)
490 FIXME("(0x%04hx, %hu, %p, %p): stub\n", hMgr, wCursor, lpLogBtns, lpSysBtns);
492 return FALSE;
495 /***********************************************************************
496 * WTMgrCsrPressureBtnMarks (WINTAB.183)
498 * OBSOLETE IN WIN32! (But only according to documentation)
500 BOOL16 WINAPI WTMgrCsrPressureBtnMarks16(HMGR16 hMgr, UINT16 wCsr,
501 DWORD dwNMarks, DWORD dwTMarks)
503 FIXME("(0x%04hx, %hu, %u, %u): stub\n", hMgr, wCsr, dwNMarks, dwTMarks);
505 return FALSE;
508 /***********************************************************************
509 * WTMgrCsrPressureBtnMarksEx (WINTAB.201)
511 BOOL16 WINAPI WTMgrCsrPressureBtnMarksEx16(HMGR16 hMgr, UINT16 wCsr,
512 UINT16 *lpNMarks, UINT16 *lpTMarks)
514 FIXME("(0x%04hx, %hu, %p, %p): stub\n", hMgr, wCsr, lpNMarks, lpTMarks);
516 return FALSE;
519 /***********************************************************************
520 * WTMgrCsrPressureResponse (WINTAB.184)
522 BOOL16 WINAPI WTMgrCsrPressureResponse16(HMGR16 hMgr, UINT16 wCsr,
523 UINT16 *lpNResp, UINT16 *lpTResp)
525 FIXME("(0x%04hx, %hu, %p, %p): stub\n", hMgr, wCsr, lpNResp, lpTResp);
527 return FALSE;
530 /***********************************************************************
531 * WTMgrCsrExt (WINTAB.185)
533 BOOL16 WINAPI WTMgrCsrExt16(HMGR16 hMgr, UINT16 wCsr, UINT16 wExt, LPVOID lpData)
535 FIXME("(0x%04hx, %hu, %hu, %p): stub\n", hMgr, wCsr, wExt, lpData);
537 return FALSE;