/*
* Copyright (C) 1991-1998 by LCS/Telegraphics
* Copyright (C) 2002 Patrik Stridvall
*
* 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
/*
* Oracle LGPL Disclaimer: For the avoidance of doubt, except that if any license choice
* other than GPL or LGPL is available it will apply instead, Oracle elects to use only
* the Lesser General Public License version 2.1 (LGPLv2) at this time for any software where
* a choice of LGPL license versions is made available with the language indicating
* that LGPLv2 or any later version may be used, or where a choice of which version
* of the LGPL is applied is otherwise unspecified.
*/
#ifndef __WINE_WINTAB_H
#define __WINE_WINTAB_H
#ifdef __cplusplus
extern "C" {
#endif /* defined(__cplusplus) */
/***********************************************************************
* Messages
*/
#ifndef NOWTMESSAGES
#define _WT_PACKET(b) ((b)+0)
#endif
/***********************************************************************
* COMMON DATA DEFS
*/
#ifndef NOWTPKT
/* WTPKT bits */
#endif
#ifndef NOFIX32
#define FIX_MUL(c, a, b) \
#ifdef _WINDLL
# define FIX_DIV_SC static
#else
# define FIX_DIV_SC
# endif
#define FIX_DIV(c, a, b) \
{ \
\
/* fraction done bytewise */ \
temp = ((a / b) << 16); \
rem = a % b; \
btemp = b; \
rem <<= 8; \
} else { \
btemp >>= 8; \
} \
rem <<= 8; \
c = temp; \
}
#endif
/***********************************************************************
* INFO DATA DEFS
*/
#ifndef NOWTINFO
#ifndef NOWTAXIS
typedef struct tagAXIS {
/* unit specifiers */
#define TU_NONE 0
#endif
#ifndef NOWTSYSBUTTONS
/* system button assignment values */
/* for Pen Windows */
#endif
#ifndef NOWTCAPABILITIES
/* hardware capabilities */
#endif
#ifndef NOWTIFC
#ifndef NOWTCURSORS
/* cursor capabilities */
#endif
/* info categories */
#endif
#ifndef NOWTSTATUS
#endif
#ifndef NOWTDEFCONTEXT
#endif
#ifndef NOWTDEVICES
#endif
#ifndef NOWTCURSORS
#endif
#ifndef NOWTEXTENSIONS
#endif
#endif
/***********************************************************************
* CONTEXT DATA DEFS
*/
typedef struct tagLOGCONTEXTA {
int lcSysOrgX;
int lcSysOrgY;
int lcSysExtX;
int lcSysExtY;
typedef struct tagLOGCONTEXTW {
int lcSysOrgX;
int lcSysOrgY;
int lcSysExtX;
int lcSysExtY;
/* context option values */
/* context status values */
/* context lock values */
/***********************************************************************
* EVENT DATA DEFS
*/
/* For packet structure definition, see pktdef.h */
/* packet status values */
typedef struct tagORIENTATION {
int orAzimuth;
int orAltitude;
int orTwist;
int roPitch;
int roRoll;
int roYaw;
/* grandfather in obsolete member names. */
/* relative buttons */
#define TBN_NONE 0
/***********************************************************************
* DEVICE CONFIG CONSTANTS
*/
#ifndef NOWTDEVCFG
#define WTDC_NONE 0
#endif
/***********************************************************************
* HOOK CONSTANTS
*/
#ifndef NOWTHOOKS
#define WTHC_ACTION 0
#endif
/***********************************************************************
* PREFERENCE FUNCTION CONSTANTS
*/
#ifndef NOWTPREF
#endif
/***********************************************************************
* EXTENSION TAGS AND CONSTANTS
*/
#ifndef NOWTEXTENSIONS
/* constants for use with pktdef.h */
/* Extension tags. */
typedef struct tagXBTNMASK {
} XBTNMASK;
int tiltX;
int tiltY;
} TILT;
#endif
/***********************************************************************
* Functions
*/
#ifndef NOWTCALLBACKS
#ifndef NOWTMANAGERFXNS
/* callback function types */
#endif
#endif
#ifndef NOWTFUNCTIONS
#ifndef NOWTBASICFXNS
/* BASIC FUNCTIONS */
#endif
#ifndef NOWTVISIBILITYFXNS
/* VISIBILITY FUNCTIONS */
#endif
#ifndef NOWTCTXEDITFXNS
/* CONTEXT EDITING FUNCTIONS */
#endif
#ifndef NOWTQUEUEFXNS
/* ADVANCED PACKET AND QUEUE FUNCTIONS */
#endif
#ifndef NOWTHMGRFXNS
/* MANAGER HANDLE FUNCTIONS */
#endif
#ifndef NOWTMGRCTXFXNS
/* MANAGER CONTEXT FUNCTIONS */
#endif
#ifndef NOWTMGRCONFIGFXNS
/* MANAGER CONFIG BOX FUNCTIONS */
#endif
#ifndef NOWTMGRHOOKFXNS
/* MANAGER PACKET HOOK FUNCTIONS */
/* OBSOLETE IN WIN32! */
#endif
#ifndef NOWTMGRPREFFXNS
/* MANAGER PREFERENCE DATA FUNCTIONS */
#endif
/***********************************************************************
* Win32 replacements for non-portable functions.
*/
#ifndef NOWTQUEUEFXNS
/* ADVANCED PACKET AND QUEUE FUNCTIONS */
#endif
#ifndef NOWTMGRCONFIGFXNS
/* MANAGER CONFIG BOX FUNCTIONS */
#endif
#ifndef NOWTMGRHOOKFXNS
/* MANAGER PACKET HOOK FUNCTIONS */
#endif
#ifndef NOWTMGRPREFFXNS
/* MANAGER PREFERENCE DATA FUNCTIONS */
#endif
#endif
#ifdef __cplusplus
} /* extern "C" */
#endif /* defined(__cplusplus) */
#endif /* defined(__WINE_WINTAB_H */