/*----------------------------------------------------------------------------s NAME Utils.h PURPOSE Defines for the general-purpose functions for the WinTab demos. COPYRIGHT This file is Copyright (c) Wacom Company, Ltd. 2020 All Rights Reserved with portions copyright 1991-1998 by LCS/Telegraphics. The text and information contained in this file may be freely used, copied, or distributed without compensation or licensing restrictions. ---------------------------------------------------------------------------- */ #pragma once #include #include #include #include #include "wintab.h" #ifndef bool #define bool int #endif ////////////////////////////////////////////////////////////////////////////// #define WACOM_DEBUG // Ignore warnings about using unsafe string functions. #pragma warning( disable : 4996 ) ////////////////////////////////////////////////////////////////////////////// // Function pointers to Wintab functions exported from wintab32.dll. typedef UINT(API* WTINFOA) (UINT, UINT, LPVOID); typedef HCTX(API* WTOPENA)(HWND, LPLOGCONTEXTA, bool); typedef bool (API* WTGETA) (HCTX, LPLOGCONTEXT); typedef bool (API* WTSETA) (HCTX, LPLOGCONTEXT); typedef bool (API* WTCLOSE) (HCTX); typedef bool (API* WTENABLE) (HCTX, bool); typedef bool (API* WTPACKET) (HCTX, UINT, LPVOID); typedef bool (API* WTOVERLAP) (HCTX, bool); typedef bool (API* WTSAVE) (HCTX, LPVOID); typedef bool (API* WTCONFIG) (HCTX, HWND); typedef HCTX(API* WTRESTORE) (HWND, LPVOID, bool); typedef bool (API* WTEXTSET) (HCTX, UINT, LPVOID); typedef bool (API* WTEXTGET) (HCTX, UINT, LPVOID); typedef bool (API* WTQUEUESIZESET) (HCTX, int); typedef int (API* WTDATAPEEK) (HCTX, UINT, UINT, int, LPVOID, LPINT); typedef int (API* WTPACKETSGET) (HCTX, int, LPVOID); typedef HMGR(API* WTMGROPEN) (HWND, UINT); typedef bool (API* WTMGRCLOSE) (HMGR); typedef HCTX(API* WTMGRDEFCONTEXT) (HMGR, bool); typedef HCTX(API* WTMGRDEFCONTEXTEX) (HMGR, UINT, bool); // TODO - add more wintab32 function defs as needed ////////////////////////////////////////////////////////////////////////////// extern char* gpszProgramName; // Loaded Wintab32 API functions. extern HINSTANCE ghWintab; extern WTINFOA gpWTInfoA; extern WTOPENA gpWTOpenA; extern WTGETA gpWTGetA; extern WTSETA gpWTSetA; extern WTCLOSE gpWTClose; extern WTPACKET gpWTPacket; extern WTENABLE gpWTEnable; extern WTOVERLAP gpWTOverlap; extern WTSAVE gpWTSave; extern WTCONFIG gpWTConfig; extern WTRESTORE gpWTRestore; extern WTEXTSET gpWTExtSet; extern WTEXTGET gpWTExtGet; extern WTQUEUESIZESET gpWTQueueSizeSet; extern WTDATAPEEK gpWTDataPeek; extern WTPACKETSGET gpWTPacketsGet; extern WTMGROPEN gpWTMgrOpen; extern WTMGRCLOSE gpWTMgrClose; extern WTMGRDEFCONTEXT gpWTMgrDefContext; extern WTMGRDEFCONTEXTEX gpWTMgrDefContextEx; // TODO - add more wintab32 function pointers as needed ////////////////////////////////////////////////////////////////////////////// bool LoadWintab(void); void UnloadWintab(void); void ShowError(char* pszErrorMessage); ////////////////////////////////////////////////////////////////////////////// #ifdef WACOM_DEBUG void WacomTrace(char* lpszFormat, ...); #define WACOM_ASSERT( x ) assert( x ) #define WACOM_TRACE(...) WacomTrace(__VA_ARGS__) #else #define WACOM_TRACE(...) #define WACOM_ASSERT( x ) #endif // WACOM_DEBUG