Commit 5caddc78 authored by Patrik Stridvall's avatar Patrik Stridvall Committed by Alexandre Julliard

Added stubs for WINTAB{,32}.DLL (used by many important drawing

applications for supporting tablets).
parent a80e051a
......@@ -1466,6 +1466,7 @@ dlls/winnls/Makefile
dlls/winsock/Makefile
dlls/winsock/tests/Makefile
dlls/winspool/Makefile
dlls/wintab32/Makefile
dlls/wintrust/Makefile
dlls/wow32/Makefile
dlls/wsock32/Makefile
......
......@@ -105,6 +105,7 @@ BASEDIRS = \
winnls \
winsock \
winspool \
wintab32 \
wintrust \
wow32 \
wsock32
......@@ -171,6 +172,7 @@ WIN16_FILES = \
wing.dll$(DLLEXT) \
winnls.dll$(DLLEXT) \
winsock.dll$(DLLEXT) \
wintab.dll$(DLLEXT) \
wprocs.dll$(DLLEXT)
all: \
......@@ -264,6 +266,7 @@ all: \
winmm.dll$(DLLEXT) \
winnls32.dll$(DLLEXT) \
winspool.drv$(DLLEXT) \
wintab32.dll$(DLLEXT) \
wintrust.dll$(DLLEXT) \
wnaspi32.dll$(DLLEXT) \
wow32.dll$(DLLEXT) \
......@@ -557,6 +560,9 @@ winnls32.dll$(DLLEXT) winnls.dll$(DLLEXT): winnls/winnls32.dll$(DLLEXT)
winspool.drv$(DLLEXT): winspool/winspool.drv$(DLLEXT)
$(RM) $@ && $(LN_S) winspool/winspool.drv$(DLLEXT) $@
wintab32.dll$(DLLEXT) wintab.dll$(DLLEXT): wintab32/wintab32.dll$(DLLEXT)
$(RM) $@ && $(LN_S) wintab32/wintab32.dll$(DLLEXT) $@
wintrust.dll$(DLLEXT): wintrust/wintrust.dll$(DLLEXT)
$(RM) $@ && $(LN_S) wintrust/wintrust.dll$(DLLEXT) $@
......@@ -653,6 +659,7 @@ IMPORT_LIBS = \
libwinmm \
libwinnls32 \
libwinspool \
libwintab32 \
libwintrust \
libwnaspi32 \
libwow32 \
......@@ -1030,6 +1037,11 @@ libwinspool.def: winspool/winspool.drv.spec.def
libwinspool.a: winspool/winspool.drv.spec.def
$(DLLTOOL) -k -l $@ -d winspool/winspool.drv.spec.def
libwintab32.def: wintab32/wintab32.spec.def
$(RM) $@ && $(LN_S) wintab32/wintab32.spec.def $@
libwintab32.a: wintab32/wintab32.spec.def
$(DLLTOOL) -k -l $@ -d wintab32/wintab32.spec.def
libwintrust.def: wintrust/wintrust.spec.def
$(RM) $@ && $(LN_S) wintrust/wintrust.spec.def $@
libwintrust.a: wintrust/wintrust.spec.def
......@@ -1134,6 +1146,7 @@ wininet/wininet.spec.def: $(WINEBUILD)
winmm/winmm.spec.def: $(WINEBUILD)
winnls/winnls32.spec.def: $(WINEBUILD)
winspool/winspool.drv.spec.def: $(WINEBUILD)
wintab32/wintab32.spec.def: $(WINEBUILD)
wintrust/wintrust.spec.def: $(WINEBUILD)
winaspi/wnaspi32.spec.def: $(WINEBUILD)
wow32/wow32.spec.def: $(WINEBUILD)
......@@ -1239,6 +1252,7 @@ wininet/wininet.dll$(DLLEXT): wininet
winmm/winmm.dll$(DLLEXT): winmm
winnls/winnls32.dll$(DLLEXT): winnls
winspool/winspool.drv$(DLLEXT): winspool
wintab32/wintab32.dll$(DLLEXT): wintab32
wintrust/wintrust.dll$(DLLEXT): wintrust
winaspi/wnaspi32.dll$(DLLEXT): winaspi
wow32/wow32.dll$(DLLEXT): wow32
......@@ -1341,6 +1355,7 @@ wininet/__install__: wininet.dll$(DLLEXT)
winmm/__install__: winmm.dll$(DLLEXT)
winnls/__install__: winnls32.dll$(DLLEXT)
winspool/__install__: winspool.drv$(DLLEXT)
wintab32/__install__: wintab32.dll$(DLLEXT)
wintrust/__install__: wintrust.dll$(DLLEXT)
winaspi/__install__: wnaspi32.dll$(DLLEXT)
wow32/__install__: wow32.dll$(DLLEXT)
......
Makefile
wintab.spec.c
wintab32.dll.dbg.c
wintab32.spec.c
wintab32.spec.def
TOPSRCDIR = @top_srcdir@
TOPOBJDIR = ../..
SRCDIR = @srcdir@
VPATH = @srcdir@
MODULE = wintab32.dll
IMPORTS = kernel32
ALTNAMES = wintab.dll
LDDLLFLAGS = @LDDLLFLAGS@
SYMBOLFILE = $(MODULE).tmp.o
C_SRCS = \
context.c \
manager.c
C_SRCS16 = \
wintab16.c
@MAKE_DLL_RULES@
### Dependencies:
/*
* Tablet Context
*
* Copyright 2002 Patrik Stridvall
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "wintab.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wintab32);
/***********************************************************************
* WTInfoA (WINTAB32.20)
*/
UINT WINAPI WTInfoA(UINT wCategory, UINT nIndex, LPVOID lpOutput)
{
FIXME("(%u, %u, %p): stub\n", wCategory, nIndex, lpOutput);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTInfoW (WINTAB32.1020)
*/
UINT WINAPI WTInfoW(UINT wCategory, UINT nIndex, LPVOID lpOutput)
{
FIXME("(%u, %u, %p): stub\n", wCategory, nIndex, lpOutput);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTOpenA (WINTAB32.21)
*/
HCTX WINAPI WTOpenA(HWND hWnd, LPLOGCONTEXTA lpLogCtx, BOOL fEnable)
{
FIXME("(%p, %p, %u): stub\n", hWnd, lpLogCtx, fEnable);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTOpenW (WINTAB32.1021)
*/
HCTX WINAPI WTOpenW(HWND hWnd, LPLOGCONTEXTW lpLogCtx, BOOL fEnable)
{
FIXME("(%p, %p, %u): stub\n", hWnd, lpLogCtx, fEnable);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTClose (WINTAB32.22)
*/
BOOL WINAPI WTClose(HCTX hCtx)
{
FIXME("(%p): stub\n", hCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return TRUE;
}
/***********************************************************************
* WTPacketsGet (WINTAB32.23)
*/
int WINAPI WTPacketsGet(HCTX hCtx, int cMaxPkts, LPVOID lpPkts)
{
FIXME("(%p, %d, %p): stub\n", hCtx, cMaxPkts, lpPkts);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTPacket (WINTAB32.24)
*/
BOOL WINAPI WTPacket(HCTX hCtx, UINT wSerial, LPVOID lpPkt)
{
FIXME("(%p, %d, %p): stub\n", hCtx, wSerial, lpPkt);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTEnable (WINTAB32.40)
*/
BOOL WINAPI WTEnable(HCTX hCtx, BOOL fEnable)
{
FIXME("(%p, %u): stub\n", hCtx, fEnable);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTOverlap (WINTAB32.41)
*/
BOOL WINAPI WTOverlap(HCTX hCtx, BOOL fToTop)
{
FIXME("(%p, %u): stub\n", hCtx, fToTop);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTConfig (WINTAB32.61)
*/
BOOL WINAPI WTConfig(HCTX hCtx, HWND hWnd)
{
FIXME("(%p, %p): stub\n", hCtx, hWnd);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTGetA (WINTAB32.61)
*/
BOOL WINAPI WTGetA(HCTX hCtx, LPLOGCONTEXTA lpLogCtx)
{
FIXME("(%p, %p): stub\n", hCtx, lpLogCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTGetW (WINTAB32.1061)
*/
BOOL WINAPI WTGetW(HCTX hCtx, LPLOGCONTEXTW lpLogCtx)
{
FIXME("(%p, %p): stub\n", hCtx, lpLogCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTSetA (WINTAB32.62)
*/
BOOL WINAPI WTSetA(HCTX hCtx, LPLOGCONTEXTA lpLogCtx)
{
FIXME("(%p, %p): stub\n", hCtx, lpLogCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTSetW (WINTAB32.1062)
*/
BOOL WINAPI WTSetW(HCTX hCtx, LPLOGCONTEXTW lpLogCtx)
{
FIXME("(%p, %p): stub\n", hCtx, lpLogCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTExtGet (WINTAB32.63)
*/
BOOL WINAPI WTExtGet(HCTX hCtx, UINT wExt, LPVOID lpData)
{
FIXME("(%p, %u, %p): stub\n", hCtx, wExt, lpData);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTExtSet (WINTAB32.64)
*/
BOOL WINAPI WTExtSet(HCTX hCtx, UINT wExt, LPVOID lpData)
{
FIXME("(%p, %u, %p): stub\n", hCtx, wExt, lpData);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTSave (WINTAB32.65)
*/
BOOL WINAPI WTSave(HCTX hCtx, LPVOID lpSaveInfo)
{
FIXME("(%p, %p): stub\n", hCtx, lpSaveInfo);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTRestore (WINTAB32.66)
*/
HCTX WINAPI WTRestore(HWND hWnd, LPVOID lpSaveInfo, BOOL fEnable)
{
FIXME("(%p, %p, %u): stub\n", hWnd, lpSaveInfo, fEnable);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTPacketsPeek (WINTAB32.80)
*/
int WINAPI WTPacketsPeek(HCTX hCtx, int cMaxPkts, LPVOID lpPkts)
{
FIXME("(%p, %d, %p): stub\n", hCtx, cMaxPkts, lpPkts);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTDataGet (WINTAB32.81)
*/
int WINAPI WTDataGet(HCTX hCtx, UINT wBegin, UINT wEnd,
int cMaxPkts, LPVOID lpPkts, LPINT lpNPkts)
{
FIXME("(%p, %u, %u, %d, %p, %p): stub\n",
hCtx, wBegin, wEnd, cMaxPkts, lpPkts, lpNPkts);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTDataPeek (WINTAB32.82)
*/
int WINAPI WTDataPeek(HCTX hCtx, UINT wBegin, UINT wEnd,
int cMaxPkts, LPVOID lpPkts, LPINT lpNPkts)
{
FIXME("(%p, %u, %u, %d, %p, %p): stub\n",
hCtx, wBegin, wEnd, cMaxPkts, lpPkts, lpNPkts);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTQueuePacketsEx (WINTAB32.200)
*/
BOOL WINAPI WTQueuePacketsEx(HCTX hCtx, UINT *lpOld, UINT *lpNew)
{
FIXME("(%p, %p, %p): stub\n", hCtx, lpOld, lpNew);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return TRUE;
}
/***********************************************************************
* WTQueueSizeGet (WINTAB32.84)
*/
int WINAPI WTQueueSizeGet(HCTX hCtx)
{
FIXME("(%p): stub\n", hCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTQueueSizeSet (WINTAB32.85)
*/
BOOL WINAPI WTQueueSizeSet(HCTX hCtx, int nPkts)
{
FIXME("(%p, %d): stub\n", hCtx, nPkts);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/*
* Tablet Manager
*
* Copyright 2002 Patrik Stridvall
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#include "config.h"
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "wintab.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wintab32);
/***********************************************************************
* WTMgrOpen (WINTAB32.100)
*/
HMGR WINAPI WTMgrOpen(HWND hWnd, UINT wMsgBase)
{
FIXME("(%p, %u): stub\n", hWnd, wMsgBase);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrClose (WINTAB32.101)
*/
BOOL WINAPI WTMgrClose(HMGR hMgr)
{
FIXME("(%p): stub\n", hMgr);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrContextEnum (WINTAB32.120)
*/
BOOL WINAPI WTMgrContextEnum(HMGR hMgr, WTENUMPROC lpEnumFunc, LPARAM lParam)
{
FIXME("(%p, %p, %ld): stub\n", hMgr, lpEnumFunc, lParam);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrContextOwner (WINTAB32.121)
*/
HWND WINAPI WTMgrContextOwner(HMGR hMgr, HCTX hCtx)
{
FIXME("(%p, %p): stub\n", hMgr, hCtx);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrDefContext (WINTAB32.122)
*/
HCTX WINAPI WTMgrDefContext(HMGR hMgr, BOOL fSystem)
{
FIXME("(%p, %u): stub\n", hMgr, fSystem);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrDefContextEx (WINTAB32.206)
*
* 1.1
*/
HCTX WINAPI WTMgrDefContextEx(HMGR hMgr, UINT wDevice, BOOL fSystem)
{
FIXME("(%p, %hu, %hu): stub\n", hMgr, wDevice, fSystem);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrDeviceConfig (WINTAB32.140)
*/
UINT WINAPI WTMgrDeviceConfig(HMGR hMgr, UINT wDevice, HWND hWnd)
{
FIXME("(%p, %u, %p): stub\n", hMgr, wDevice, hWnd);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTMgrConfigReplaceExA (WINTAB32.202)
*/
BOOL WINAPI WTMgrConfigReplaceExA(HMGR hMgr, BOOL fInstall,
LPSTR lpszModule, LPSTR lpszCfgProc)
{
FIXME("(%p, %u, %s, %s): stub\n", hMgr, fInstall,
debugstr_a(lpszModule), debugstr_a(lpszCfgProc));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrConfigReplaceExW (WINTAB32.1202)
*/
BOOL WINAPI WTMgrConfigReplaceExW(HMGR hMgr, BOOL fInstall,
LPWSTR lpszModule, LPSTR lpszCfgProc)
{
FIXME("(%p, %u, %s, %s): stub\n", hMgr, fInstall,
debugstr_w(lpszModule), debugstr_a(lpszCfgProc));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrPacketHookExA (WINTAB32.203)
*/
HWTHOOK WINAPI WTMgrPacketHookExA(HMGR hMgr, int nType,
LPSTR lpszModule, LPSTR lpszHookProc)
{
FIXME("(%p, %d, %s, %s): stub\n", hMgr, nType,
debugstr_a(lpszModule), debugstr_a(lpszHookProc));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrPacketHookExW (WINTAB32.1203)
*/
HWTHOOK WINAPI WTMgrPacketHookExW(HMGR hMgr, int nType,
LPWSTR lpszModule, LPSTR lpszHookProc)
{
FIXME("(%p, %d, %s, %s): stub\n", hMgr, nType,
debugstr_w(lpszModule), debugstr_a(lpszHookProc));
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return NULL;
}
/***********************************************************************
* WTMgrPacketUnhook (WINTAB32.204)
*/
BOOL WINAPI WTMgrPacketUnhook(HWTHOOK hHook)
{
FIXME("(%p): stub\n", hHook);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrPacketHookNext (WINTAB32.205)
*/
LRESULT WINAPI WTMgrPacketHookNext(HWTHOOK hHook, int nCode,
WPARAM wParam, LPARAM lParam)
{
FIXME("(%p, %d, %u, %lu): stub\n", hHook, nCode, wParam, lParam);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return 0;
}
/***********************************************************************
* WTMgrExt (WINTAB32.180)
*/
BOOL WINAPI WTMgrExt(HMGR hMgr, UINT wExt, LPVOID lpData)
{
FIXME("(%p, %u, %p): stub\n", hMgr, wExt, lpData);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrEnable (WINTAB32.181)
*/
BOOL WINAPI WTMgrCsrEnable(HMGR hMgr, UINT wCursor, BOOL fEnable)
{
FIXME("(%p, %u, %u): stub\n", hMgr, wCursor, fEnable);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrButtonMap (WINTAB32.182)
*/
BOOL WINAPI WTMgrCsrButtonMap(HMGR hMgr, UINT wCursor,
LPBYTE lpLogBtns, LPBYTE lpSysBtns)
{
FIXME("(%p, %u, %p, %p): stub\n", hMgr, wCursor, lpLogBtns, lpSysBtns);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrPressureBtnMarks (WINTAB32.183)
*
* OBSOLETE IN WIN32! (But only according to documentation)
*/
BOOL WINAPI WTMgrCsrPressureBtnMarks(HMGR hMgr, UINT wCsr,
DWORD dwNMarks, DWORD dwTMarks)
{
FIXME("(%p, %u, %lu, %lu): stub\n", hMgr, wCsr, dwNMarks, dwTMarks);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrPressureBtnMarksEx (WINTAB32.201)
*/
BOOL WINAPI WTMgrCsrPressureBtnMarksEx(HMGR hMgr, UINT wCsr,
UINT *lpNMarks, UINT *lpTMarks)
{
FIXME("(%p, %u, %p, %p): stub\n", hMgr, wCsr, lpNMarks, lpTMarks);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrPressureResponse (WINTAB32.184)
*/
BOOL WINAPI WTMgrCsrPressureResponse(HMGR hMgr, UINT wCsr,
UINT *lpNResp, UINT *lpTResp)
{
FIXME("(%p, %u, %p, %p): stub\n", hMgr, wCsr, lpNResp, lpTResp);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
/***********************************************************************
* WTMgrCsrExt (WINTAB32.185)
*/
BOOL WINAPI WTMgrCsrExt(HMGR hMgr, UINT wCsr, UINT wExt, LPVOID lpData)
{
FIXME("(%p, %u, %u, %p): stub\n", hMgr, wCsr, wExt, lpData);
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
return FALSE;
}
20 pascal16 WTInfo(word word ptr) WTInfo16
21 pascal16 WTOpen(word ptr word) WTOpen16
22 pascal16 WTClose(word) WTClose16
23 pascal16 WTPacketsGet(word s_word ptr) WTPacketsGet16
24 pascal16 WTPacket(word word ptr) WTPacket16
40 pascal16 WTEnable(word word) WTEnable16
41 pascal16 WTOverlap(word word) WTOverlap16
60 pascal16 WTConfig(word word) WTConfig16
61 pascal16 WTGet(word ptr) WTGet16
62 pascal16 WTSet(word ptr) WTSet16
63 pascal16 WTExtGet(word word ptr) WTExtGet16
64 pascal16 WTExtSet(word word ptr) WTExtSet16
65 pascal16 WTSave(word ptr) WTSave16
66 pascal16 WTRestore(word ptr word) WTRestore16
80 pascal16 WTPacketsPeek(word s_word ptr) WTPacketsPeek16
81 pascal16 WTDataGet(word word word s_word ptr ptr) WTDataGet16
82 pascal16 WTDataPeek(word word word s_word ptr ptr) WTDataPeek16
83 pascal WTQueuePackets(word) WTQueuePackets16
84 pascal16 WTQueueSizeGet(word) WTQueueSizeGet16
85 pascal16 WTQueueSizeSet(word s_word) WTQueueSizeSet16
100 pascal16 WTMgrOpen(word word) WTMgrOpen16
101 pascal16 WTMgrClose(word) WTMgrClose16
120 pascal16 WTMgrContextEnum(word ptr long) WTMgrContextEnum16
121 pascal16 WTMgrContextOwner(word word) WTMgrContextOwner16
122 pascal16 WTMgrDefContext(word word) WTMgrDefContext16
140 pascal16 WTMgrDeviceConfig(word word word) WTMgrDeviceConfig16
141 pascal16 WTMgrConfigReplace(word word ptr) WTMgrConfigReplace16
160 pascal WTMgrPacketHook(word word s_word ptr) WTMgrPacketHook16
161 pascal WTMgrPacketHookDefProc(s_word word long ptr) WTMgrPacketHookDefProc16
180 pascal16 WTMgrExt(word word ptr) WTMgrExt16
181 pascal16 WTMgrCsrEnable(word word word) WTMgrCsrEnable16
182 pascal16 WTMgrCsrButtonMap(word word ptr ptr) WTMgrCsrButtonMap16
183 pascal16 WTMgrCsrPressureBtnMarks(word word long long) WTMgrCsrPressureBtnMarks16
184 pascal16 WTMgrCsrPressureResponse(word word ptr ptr) WTMgrCsrPressureResponse16
185 pascal16 WTMgrCsrExt(word word word ptr) WTMgrCsrExt16
200 pascal16 WTQueuePacketsEx(word ptr ptr) WTQueuePacketsEx16
201 pascal16 WTMgrCsrPressureBtnMarksEx(word word ptr ptr) WTMgrCsrPressureBtnMarksEx16
202 pascal16 WTMgrConfigReplaceEx(word word str str) WTMgrConfigReplaceEx16
203 pascal16 WTMgrPacketHookEx(word s_word str str) WTMgrPacketHookEx16
204 pascal16 WTMgrPacketUnhook(word) WTMgrPacketUnhook16
205 pascal16 WTMgrPacketHookNext(word s_word word long) WTMgrPacketHookNext16
206 pascal16 WTMgrDefContextEx(word word word) WTMgrDefContextEx16
20 stdcall WTInfoA(long long ptr) WTInfoA
21 stdcall WTOpenA(long ptr long) WTOpenA
22 stdcall WTClose(long) WTClose
23 stdcall WTPacketsGet(long long ptr) WTPacketsGet
24 stdcall WTPacket(long long ptr) WTPacket
40 stdcall WTEnable(long long) WTEnable
41 stdcall WTOverlap(long long) WTOverlap
60 stdcall WTConfig(long long) WTConfig
61 stdcall WTGetA(long ptr) WTGetA
62 stdcall WTSetA(long ptr) WTSetA
63 stdcall WTExtGet(long long ptr) WTExtGet
64 stdcall WTExtSet(long long ptr) WTExtSet
65 stdcall WTSave(long ptr) WTSave
66 stdcall WTRestore(long ptr long) WTRestore
80 stdcall WTPacketsPeek(long long ptr) WTPacketsPeek
81 stdcall WTDataGet(long long long long ptr ptr) WTDataGet
82 stdcall WTDataPeek(long long long long ptr ptr) WTDataPeek
84 stdcall WTQueueSizeGet(long) WTQueueSizeGet
85 stdcall WTQueueSizeSet(long long) WTQueueSizeSet
100 stdcall WTMgrOpen(long long) WTMgrOpen
101 stdcall WTMgrClose(long) WTMgrClose
120 stdcall WTMgrContextEnum(long ptr long) WTMgrContextEnum
121 stdcall WTMgrContextOwner(long long) WTMgrContextOwner
122 stdcall WTMgrDefContext(long long) WTMgrDefContext
140 stdcall WTMgrDeviceConfig(long long long) WTMgrDeviceConfig
180 stdcall WTMgrExt(long long ptr) WTMgrExt
181 stdcall WTMgrCsrEnable(long long long) WTMgrCsrEnable
182 stdcall WTMgrCsrButtonMap(long long ptr ptr) WTMgrCsrButtonMap
183 stdcall WTMgrCsrPressureBtnMarks(long long long long) WTMgrCsrPressureBtnMarks
184 stdcall WTMgrCsrPressureResponse(long long ptr ptr) WTMgrCsrPressureResponse
185 stdcall WTMgrCsrExt(long long long ptr) WTMgrCsrExt
200 stdcall WTQueuePacketsEx(long ptr ptr) WTQueuePacketsEx
201 stdcall WTMgrCsrPressureBtnMarksEx(long long ptr ptr) WTMgrCsrPressureBtnMarksEx
202 stdcall WTMgrConfigReplaceExA(long long str str) WTMgrConfigReplaceExA
203 stdcall WTMgrPacketHookExA(long long str str) WTMgrPacketHookExA
204 stdcall WTMgrPacketUnhook(long) WTMgrPacketUnhook
205 stdcall WTMgrPacketHookNext(long long long long) WTMgrPacketHookNext
206 stdcall WTMgrDefContextEx(long long long) WTMgrDefContextEx
1020 stdcall WTInfoW(long long ptr) WTInfoW
1021 stdcall WTOpenW(long ptr long) WTOpenW
1061 stdcall WTGetW(long ptr) WTGetW
1062 stdcall WTSetW(long ptr) WTSetW
1202 stdcall WTMgrConfigReplaceExW(long long wstr str) WTMgrConfigReplaceExW
1203 stdcall WTMgrPacketHookExW(long long wstr str) WTMgrPacketHookExW
......@@ -96,6 +96,7 @@ WINDOWS_INCLUDES = \
olectl.h \
oledlg.h \
oleidl.h \
pktdef.h \
poppack.h \
prsht.h \
psapi.h \
......@@ -152,6 +153,8 @@ WINDOWS_INCLUDES = \
winsock2.h \
winspool.h \
winsvc.h \
wintab.h \
wintabx.h \
winternl.h \
winuser.h \
winver.h \
......
/*
* Copyright (C) 1991-1998 by LCS/Telegraphics
* Copyright (C) 2002 Patrik Stridvall
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_PKTDEF_H
#define __WINE_PKTDEF_H
/***********************************************************************
* 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 /* defined(__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), \
* __IFX(NP,PACKET), * __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
#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
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* defined(__WINE_PKTDEF_H */
/*
* Copyright (C) 1991-1998 by LCS/Telegraphics
* Copyright (C) 2002 Patrik Stridvall
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_WINTABX_H
#define __WINE_WINTABX_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/***********************************************************************
* Wintab message crackers
*/
#ifndef HANDLE_MSG
# define HANDLE_MSG(hwnd, message, fn) \
case (message): return HANDLE_##message((hwnd), (wParam), (lParam), (fn))
#endif
/* void Cls_OnWintabPacket(HWND hwnd, HCTX hCtx, UINT sn) */
#define HANDLE_WT_PACKET(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(lParam), (UINT)(wParam)), 0L)
#define FORWARD__WT_PACKET(hwnd, bs, hCtx, sn, fn) \
(void)(fn)((hwnd), _WT_PACKET(bs), (WPARAM)(UINT)(sn), (LPARAM)(HCTX)(hCtx))
#define FORWARD_WT_PACKET(hwnd, hCtx, sn, fn) \
FORWARD__WT_PACKET(hwnd, WT_DEFBASE, hCtx, sn, fn)
/* void Cls_OnWintabCtxOpen(HWND hwnd, HCTX hCtx, UINT sf) */
#define HANDLE_WT_CTXOPEN(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(wParam), (UINT)(lParam)), 0L)
#define FORWARD__WT_CTXOPEN(hwnd, bs, hCtx, sf, fn) \
(void)(fn)((hwnd), _WT_CTXOPEN(bs), (WPARAM)(HCTX)(hCtx), (LPARAM)(UINT)(sf))
#define FORWARD_WT_CTXOPEN(hwnd, hCtx, sf, fn) \
FORWARD__WT_CTXOPEN(hwnd, WT_DEFBASE, hCtx, sf, fn)
/* void Cls_OnWintabCtxClose(HWND hwnd, HCTX hCtx, UINT sf) */
#define HANDLE_WT_CTXCLOSE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(wParam), (UINT)(lParam)), 0L)
#define FORWARD__WT_CTXCLOSE(hwnd, bs, hCtx, sf, fn) \
(void)(fn)((hwnd), _WT_CTXCLOSE(bs), (WPARAM)(HCTX)(hCtx), (LPARAM)(UINT)(sf))
#define FORWARD_WT_CTXCLOSE(hwnd, hCtx, sf, fn) \
FORWARD__WT_CTXCLOSE(hwnd, WT_DEFBASE, hCtx, sf, fn)
/* void Cls_OnWintabCtxUpdate(HWND hwnd, HCTX hCtx, UINT sf) */
#define HANDLE_WT_CTXUPDATE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(wParam), (UINT)(lParam)), 0L)
#define FORWARD__WT_CTXUPDATE(hwnd, bs, hCtx, sf, fn) \
(void)(fn)((hwnd), _WT_CTXUPDATE(bs), (WPARAM)(HCTX)(hCtx), (LPARAM)(UINT)(sf))
#define FORWARD_WT_CTXUPDATE(hwnd, hCtx, sf, fn) \
FORWARD__WT_CTXUPDATE(hwnd, WT_DEFBASE, hCtx, sf, fn)
/* void Cls_OnWintabCtxOverlap(HWND hwnd, HCTX hCtx, UINT sf) */
#define HANDLE_WT_CTXOVERLAP(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(wParam), (UINT)(lParam)), 0L)
#define FORWARD__WT_CTXOVERLAP(hwnd, bs, hCtx, sf, fn) \
(void)(fn)((hwnd), _WT_CTXOVERLAP(bs), (WPARAM)(HCTX)(hCtx), (LPARAM)(UINT)(sf))
#define FORWARD_WT_CTXOVERLAP(hwnd, hCtx, sf, fn) \
FORWARD__WT_CTXOVERLAP(hwnd, WT_DEFBASE, hCtx, sf, fn)
/* void Cls_OnWintabProximity(HWND hwnd, HCTX hCtx, BOOL cp, BOOL hp) */
#define HANDLE_WT_PROXIMITY(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HCTX)(wParam), (BOOL)LOWORD(lParam), (BOOL)HIWORD(lParam)), 0L)
#define FORWARD__WT_PROXIMITY(hwnd, bs, hCtx, cp, hp, fn) \
(void)(fn)((hwnd), _WT_PROXIMITY(bs), (WPARAM)(HCTX)(hCtx), MAKELPARAM((cp), (hp))
#define FORWARD_WT_PROXIMITY(hwnd, hCtx, sf, fn) \
FORWARD__WT_PROXIMITY(hwnd, WT_DEFBASE, hCtx, cp, hp, fn)
/* void Cls_OnWintabInfoChange(HWND hwnd, HMGR hMgr, UINT c, UINT i) */
#define HANDLE_WT_INFOCHANGE(hwnd, wParam, lParam, fn) \
((fn)((hwnd), (HMGR)(wParam), (UINT)LOWORD(lParam), (UINT)HIWORD(lParam)), 0L)
#define FORWARD__WT_INFOCHANGE(hwnd, bs, hMgr, cp, hp, fn) \
(void)(fn)((hwnd), _WT_INFOCHANGE(bs), (WPARAM)(HMGR)(hMgr), MAKELPARAM((c), (i))
#define FORWARD_WT_INFOCHANGE(hwnd, hMgr, sf, fn) \
FORWARD__WT_INFOCHANGE(hwnd, WT_DEFBASE, hMgr, cp, hp, fn)
/***********************************************************************
* Alternate porting layer macros
*/
#define GET_WT_PACKET_HCTX(wp, lp) ((HCTX)lp)
#define GET_WT_PACKET_SERIAL(wp, lp) (wp)
#define GET_WT_PACKET_MPS(h, s) (s), (LPARAM)(h)
#define GET_WT_CTXOPEN_HCTX(wp, lp) ((HCTX)wp)
#define GET_WT_CTXOPEN_STATUS(wp, lp) ((UINT)lp)
#define GET_WT_CTXOPEN_MPS(h, s) (WPARAM)(h), (LPARAM)(s)
#define GET_WT_CTXCLOSE_HCTX(wp, lp) ((HCTX)wp)
#define GET_WT_CTXCLOSE_STATUS(wp, lp) ((UINT)lp)
#define GET_WT_CTXCLOSE_MPS(h, s) (WPARAM)(h), (LPARAM)(s)
#define GET_WT_CTXUPDATE_HCTX(wp, lp) ((HCTX)wp)
#define GET_WT_CTXUPDATE_STATUS(wp, lp) ((UINT)lp)
#define GET_WT_CTXUPDATE_MPS(h, s) (WPARAM)(h), (LPARAM)(s)
#define GET_WT_CTXOVERLAP_HCTX(wp, lp) ((HCTX)wp)
#define GET_WT_CTXOVERLAP_STATUS(wp, lp) ((UINT)lp)
#define GET_WT_CTXOVERLAP_MPS(h, s) (WPARAM)(h), (LPARAM)(s)
#define GET_WT_PROXIMITY_HCTX(wp, lp) ((HCTX)wp)
#define GET_WT_PROXIMITY_CTXPROX(wp, lp) LOWORD(lp)
#define GET_WT_PROXIMITY_HARDPROX(wp, lp) HIWORD(lp)
#define GET_WT_PROXIMITY_MPS(h, fc, fh) (WPARAM)(h), MAKELONG(fc, fh)
#define GET_WT_INFOCHANGE_HMGR(wp, lp) ((HMGR)wp)
#define GET_WT_INFOCHANGE_CATEGORY(wp, lp) LOWORD(lp)
#define GET_WT_INFOCHANGE_INDEX(wp, lp) HIWORD(lp)
#define GET_WT_INFOCHANGE_MPS(h, c, i) (WPARAM)(h), MAKELONG(c, i)
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* defined(__WINE_WINTABX_H */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment