wHiteRabbiT-sTudio Framework
Package wHiteRabbiT.Common.Wacom

Classes

class  CMemUtils
 Provide utility methods for unmanaged memory management. More...
 
class  CWintabContext
 Class to support access to Wintab context management. More...
 
class  CWintabData
 Class to support capture and management of Wintab daa. More...
 
class  CWintabFuncs
 P/Invoke wrappers for Wintab functions. More...
 
class  CWintabInfo
 Class to access Wintab interface data. More...
 
class  FIX32
 Managed implementation of Wintab FIX32 typedef. More...
 
class  HCTX
 Managed implementation of Wintab HCTX typedef. More...
 
struct  HWND
 Managed implementation of Wintab HWND typedef. More...
 
class  Wacom
 
struct  WintabAxis
 Managed version of AXIS struct. More...
 
struct  WintabAxisArray
 Array of WintabAxis objects. More...
 
struct  WintabLogContext
 Managed version of Wintab LOGCONTEXT struct. More...
 
struct  WintabPacket
 Wintab data packet. More...
 
struct  WintabPacketExt
 Wintab extension data packet for one tablet control. More...
 
struct  WTExpKeyData
 Extension data for one Express Key. More...
 
struct  WTExtensionBase
 Common properties for control extension data transactions. More...
 
struct  WTNormalPressure
 Pen normal presure (PK_NORMAL_PRESSURE) More...
 
struct  WTOrientation
 Pen Orientation More...
 
class  WTPKT
 Managed implementation of Wintab WTPKT typedef. More...
 
struct  WTRotation
 Pen Rotation More...
 
struct  WTSliderData
 Extension data for one touch ring or one touch strip. More...
 
struct  WTTangentPressure
 Pen tangential pressure (PK_TANGENT_PRESSURE) More...
 

Typedefs

using P_WTPKT = UInt32
 
using P_FIX32 = UInt32
 
using P_HCTX = UInt32
 
using P_HWND = IntPtr
 

Enumerations

enum  EAxisDimension { EAxisDimension.AXIS_X = EWTIDevicesIndex.DVC_X, EAxisDimension.AXIS_Y = EWTIDevicesIndex.DVC_Y, EAxisDimension.AXIS_Z = EWTIDevicesIndex.DVC_Z }
 Values to use when asking for X, Y or Z WintabAxis object. More...
 
enum  ECTXOptionValues {
  ECTXOptionValues.CXO_SYSTEM = 0x0001, ECTXOptionValues.CXO_PEN = 0x0002, ECTXOptionValues.CXO_MESSAGES = 0x0004, ECTXOptionValues.CXO_CSRMESSAGES = 0x0008,
  ECTXOptionValues.CXO_MGNINSIDE = 0x4000, ECTXOptionValues.CXO_MARGIN = 0x8000
}
 Context option values. More...
 
enum  ECTXStatusValues { ECTXStatusValues.CXS_DISABLED = 0x0001, ECTXStatusValues.CXS_OBSCURED = 0x0002, ECTXStatusValues.CXS_ONTOP = 0x0004 }
 Context status values. More...
 
enum  ECTXLockValues {
  ECTXLockValues.CXL_INSIZE = 0x0001, ECTXLockValues.CXL_INASPECT = 0x0002, ECTXLockValues.CXL_SENSITIVITY = 0x0004, ECTXLockValues.CXL_MARGIN = 0x0008,
  ECTXLockValues.CXL_SYSOUT = 0x0010
}
 Context lock values. More...
 
enum  EWintabPacketBit {
  EWintabPacketBit.PK_CONTEXT = 0x0001, EWintabPacketBit.PK_STATUS = 0x0002, EWintabPacketBit.PK_TIME = 0x0004, EWintabPacketBit.PK_CHANGED = 0x0008,
  EWintabPacketBit.PK_SERIAL_NUMBER = 0x0010, EWintabPacketBit.PK_CURSOR = 0x0020, EWintabPacketBit.PK_BUTTONS = 0x0040, EWintabPacketBit.PK_X = 0x0080,
  EWintabPacketBit.PK_Y = 0x0100, EWintabPacketBit.PK_Z = 0x0200, EWintabPacketBit.PK_NORMAL_PRESSURE = 0x0400, EWintabPacketBit.PK_TANGENT_PRESSURE = 0x0800,
  EWintabPacketBit.PK_ORIENTATION = 0x1000, EWintabPacketBit.PK_ROTATION = 0x2000, EWintabPacketBit.PK_PKTBITS_ALL = 0x3FFF
}
 Wintab Packet bits. More...
 
enum  EWintabEventMessage {
  EWintabEventMessage.WT_PACKET = 0x7FF0, EWintabEventMessage.WT_CTXOPEN = 0x7FF1, EWintabEventMessage.WT_CTXCLOSE = 0x7FF2, EWintabEventMessage.WT_CTXUPDATE = 0x7FF3,
  EWintabEventMessage.WT_CTXOVERLAP = 0x7FF4, EWintabEventMessage.WT_PROXIMITY = 0x7FF5, EWintabEventMessage.WT_INFOCHANGE = 0x7FF6, EWintabEventMessage.WT_CSRCHANGE = 0x7FF7,
  EWintabEventMessage.WT_PACKETEXT = 0x7FF8
}
 Wintab event messsages sent to an application. More...
 
enum  EWintabPacketStatusValue {
  EWintabPacketStatusValue.TPS_PROXIMITY = 0x0001, EWintabPacketStatusValue.TPS_QUEUE_ERR = 0x0002, EWintabPacketStatusValue.TPS_MARGIN = 0x0004, EWintabPacketStatusValue.TPS_GRAB = 0x0008,
  EWintabPacketStatusValue.TPS_INVERT = 0x0010
}
 Wintab packet status values. More...
 
enum  EWintabPacketButtonCode { EWintabPacketButtonCode.TBN_NONE = 0, EWintabPacketButtonCode.TBN_UP = 1, EWintabPacketButtonCode.TBN_DOWN = 2 }
 WintabPacket.pkButton codes. More...
 
enum  EWTICategoryIndex {
  EWTICategoryIndex.WTI_INTERFACE = 1, EWTICategoryIndex.WTI_STATUS = 2, EWTICategoryIndex.WTI_DEFCONTEXT = 3, EWTICategoryIndex.WTI_DEFSYSCTX = 4,
  EWTICategoryIndex.WTI_DEVICES = 100, EWTICategoryIndex.WTI_CURSORS = 200, EWTICategoryIndex.WTI_EXTENSIONS = 300, EWTICategoryIndex.WTI_DDCTXS = 400,
  EWTICategoryIndex.WTI_DSCTXS = 500
}
 Index values for WTInfo wCategory parameter. More...
 
enum  EWTIInterfaceIndex {
  EWTIInterfaceIndex.IFC_WINTABID = 1, EWTIInterfaceIndex.IFC_SPECVERSION = 2, EWTIInterfaceIndex.IFC_IMPLVERSION = 3, EWTIInterfaceIndex.IFC_NDEVICES = 4,
  EWTIInterfaceIndex.IFC_NCURSORS = 5, EWTIInterfaceIndex.IFC_NCONTEXTS = 6, EWTIInterfaceIndex.IFC_CTXOPTIONS = 7, EWTIInterfaceIndex.IFC_CTXSAVESIZE = 8,
  EWTIInterfaceIndex.IFC_NEXTENSIONS = 9, EWTIInterfaceIndex.IFC_NMANAGERS = 10
}
 Index values for WTI_INTERFACE. More...
 
enum  EWTIDevicesIndex {
  EWTIDevicesIndex.DVC_NAME = 1, EWTIDevicesIndex.DVC_HARDWARE = 2, EWTIDevicesIndex.DVC_NCSRTYPES = 3, EWTIDevicesIndex.DVC_FIRSTCSR = 4,
  EWTIDevicesIndex.DVC_PKTRATE = 5, EWTIDevicesIndex.DVC_PKTDATA = 6, EWTIDevicesIndex.DVC_PKTMODE = 7, EWTIDevicesIndex.DVC_CSRDATA = 8,
  EWTIDevicesIndex.DVC_XMARGIN = 9, EWTIDevicesIndex.DVC_YMARGIN = 10, EWTIDevicesIndex.DVC_ZMARGIN = 11, EWTIDevicesIndex.DVC_X = 12,
  EWTIDevicesIndex.DVC_Y = 13, EWTIDevicesIndex.DVC_Z = 14, EWTIDevicesIndex.DVC_NPRESSURE = 15, EWTIDevicesIndex.DVC_TPRESSURE = 16,
  EWTIDevicesIndex.DVC_ORIENTATION = 17, EWTIDevicesIndex.DVC_ROTATION = 18, EWTIDevicesIndex.DVC_PNPID = 19
}
 Index values for WTI_DEVICES More...
 
enum  EWTICursorsIndex {
  EWTICursorsIndex.CSR_NAME = 1, EWTICursorsIndex.CSR_ACTIVE = 2, EWTICursorsIndex.CSR_PKTDATA = 3, EWTICursorsIndex.CSR_BUTTONS = 4,
  EWTICursorsIndex.CSR_BUTTONBITS = 5, EWTICursorsIndex.CSR_BTNNAMES = 6, EWTICursorsIndex.CSR_BUTTONMAP = 7, EWTICursorsIndex.CSR_SYSBTNMAP = 8,
  EWTICursorsIndex.CSR_NPBUTTON = 9, EWTICursorsIndex.CSR_NPBTNMARKS = 10, EWTICursorsIndex.CSR_NPRESPONSE = 11, EWTICursorsIndex.CSR_TPBUTTON = 12,
  EWTICursorsIndex.CSR_TPBTNMARKS = 13, EWTICursorsIndex.CSR_TPRESPONSE = 14, EWTICursorsIndex.CSR_PHYSID = 15, EWTICursorsIndex.CSR_MODE = 16,
  EWTICursorsIndex.CSR_MINPKTDATA = 17, EWTICursorsIndex.CSR_MINBUTTONS = 18, EWTICursorsIndex.CSR_CAPABILITIES = 19, EWTICursorsIndex.CSR_TYPE = 20
}
 Index values for WTI_CURSORS. More...
 
enum  EWTICursorNameIndex { EWTICursorNameIndex.CSR_NAME_PUCK = EWTICategoryIndex.WTI_CURSORS + 0, EWTICursorNameIndex.CSR_NAME_PRESSURE_STYLUS = EWTICategoryIndex.WTI_CURSORS + 1, EWTICursorNameIndex.CSR_NAME_ERASER = EWTICategoryIndex.WTI_CURSORS + 2 }
 Index used with CSR_NAME to get stylus types. More...
 
enum  EWTIContextIndex {
  EWTIContextIndex.CTX_NAME = 1, EWTIContextIndex.CTX_OPTIONS = 2, EWTIContextIndex.CTX_STATUS = 3, EWTIContextIndex.CTX_LOCKS = 4,
  EWTIContextIndex.CTX_MSGBASE = 5, EWTIContextIndex.CTX_DEVICE = 6, EWTIContextIndex.CTX_PKTRATE = 7, EWTIContextIndex.CTX_PKTDATA = 8,
  EWTIContextIndex.CTX_PKTMODE = 9, EWTIContextIndex.CTX_MOVEMASK = 10, EWTIContextIndex.CTX_BTNDNMASK = 11, EWTIContextIndex.CTX_BTNUPMASK = 12,
  EWTIContextIndex.CTX_INORGX = 13, EWTIContextIndex.CTX_INORGY = 14, EWTIContextIndex.CTX_INORGZ = 15, EWTIContextIndex.CTX_INEXTX = 16,
  EWTIContextIndex.CTX_INEXTY = 17, EWTIContextIndex.CTX_INEXTZ = 18, EWTIContextIndex.CTX_OUTORGX = 19, EWTIContextIndex.CTX_OUTORGY = 20,
  EWTIContextIndex.CTX_OUTORGZ = 21, EWTIContextIndex.CTX_OUTEXTX = 22, EWTIContextIndex.CTX_OUTEXTY = 23, EWTIContextIndex.CTX_OUTEXTZ = 24,
  EWTIContextIndex.CTX_SENSX = 25, EWTIContextIndex.CTX_SENSY = 26, EWTIContextIndex.CTX_SENSZ = 27, EWTIContextIndex.CTX_SYSMODE = 28,
  EWTIContextIndex.CTX_SYSORGX = 29, EWTIContextIndex.CTX_SYSORGY = 30, EWTIContextIndex.CTX_SYSEXTX = 31, EWTIContextIndex.CTX_SYSEXTY = 32,
  EWTIContextIndex.CTX_SYSSENSX = 33, EWTIContextIndex.CTX_SYSSENSY = 34
}
 Index values for WTI contexts. More...
 

Typedef Documentation

using wHiteRabbiT.Common.Wacom.P_FIX32 = typedef UInt32
using wHiteRabbiT.Common.Wacom.P_HCTX = typedef UInt32
using wHiteRabbiT.Common.Wacom.P_HWND = typedef IntPtr
using wHiteRabbiT.Common.Wacom.P_WTPKT = typedef UInt32

Enumeration Type Documentation

Values to use when asking for X, Y or Z WintabAxis object.

Enumerator
AXIS_X 
AXIS_Y 
AXIS_Z 

Context lock values.

Enumerator
CXL_INSIZE 
CXL_INASPECT 
CXL_SENSITIVITY 
CXL_MARGIN 
CXL_SYSOUT 

Context option values.

Enumerator
CXO_SYSTEM 
CXO_PEN 
CXO_MESSAGES 
CXO_CSRMESSAGES 
CXO_MGNINSIDE 
CXO_MARGIN 

Context status values.

Enumerator
CXS_DISABLED 
CXS_OBSCURED 
CXS_ONTOP 

Wintab event messsages sent to an application.

See Wintab Spec 1.4 for a description of these messages.

Enumerator
WT_PACKET 
WT_CTXOPEN 
WT_CTXCLOSE 
WT_CTXUPDATE 
WT_CTXOVERLAP 
WT_PROXIMITY 
WT_INFOCHANGE 
WT_CSRCHANGE 
WT_PACKETEXT 

Wintab Packet bits.

Enumerator
PK_CONTEXT 
PK_STATUS 
PK_TIME 
PK_CHANGED 
PK_SERIAL_NUMBER 
PK_CURSOR 
PK_BUTTONS 
PK_X 
PK_Y 
PK_Z 
PK_NORMAL_PRESSURE 
PK_TANGENT_PRESSURE 
PK_ORIENTATION 
PK_ROTATION 
PK_PKTBITS_ALL 

WintabPacket.pkButton codes.

Enumerator
TBN_NONE 

No change in button state.

TBN_UP 

Button was released.

TBN_DOWN 

Button was pressed.

Wintab packet status values.

Enumerator
TPS_PROXIMITY 

Specifies that the cursor is out of the context.

TPS_QUEUE_ERR 

Specifies that the event queue for the context has overflowed.

TPS_MARGIN 

Specifies that the cursor is in the margin of the context.

TPS_GRAB 

Specifies that the cursor is out of the context, but that the context has grabbed input while waiting for a button release event.

TPS_INVERT 

Specifies that the cursor is in its inverted state.

Index values for WTInfo wCategory parameter.

Enumerator
WTI_INTERFACE 
WTI_STATUS 
WTI_DEFCONTEXT 
WTI_DEFSYSCTX 
WTI_DEVICES 
WTI_CURSORS 
WTI_EXTENSIONS 
WTI_DDCTXS 
WTI_DSCTXS 

Index values for WTI contexts.

Enumerator
CTX_NAME 
CTX_OPTIONS 
CTX_STATUS 
CTX_LOCKS 
CTX_MSGBASE 
CTX_DEVICE 
CTX_PKTRATE 
CTX_PKTDATA 
CTX_PKTMODE 
CTX_MOVEMASK 
CTX_BTNDNMASK 
CTX_BTNUPMASK 
CTX_INORGX 
CTX_INORGY 
CTX_INORGZ 
CTX_INEXTX 
CTX_INEXTY 
CTX_INEXTZ 
CTX_OUTORGX 
CTX_OUTORGY 
CTX_OUTORGZ 
CTX_OUTEXTX 
CTX_OUTEXTY 
CTX_OUTEXTZ 
CTX_SENSX 
CTX_SENSY 
CTX_SENSZ 
CTX_SYSMODE 
CTX_SYSORGX 
CTX_SYSORGY 
CTX_SYSEXTX 
CTX_SYSEXTY 
CTX_SYSSENSX 
CTX_SYSSENSY 

Index used with CSR_NAME to get stylus types.

Enumerator
CSR_NAME_PUCK 
CSR_NAME_PRESSURE_STYLUS 
CSR_NAME_ERASER 

Index values for WTI_CURSORS.

Enumerator
CSR_NAME 
CSR_ACTIVE 
CSR_PKTDATA 
CSR_BUTTONS 
CSR_BUTTONBITS 
CSR_BTNNAMES 
CSR_BUTTONMAP 
CSR_SYSBTNMAP 
CSR_NPBUTTON 
CSR_NPBTNMARKS 
CSR_NPRESPONSE 
CSR_TPBUTTON 
CSR_TPBTNMARKS 
CSR_TPRESPONSE 
CSR_PHYSID 
CSR_MODE 
CSR_MINPKTDATA 
CSR_MINBUTTONS 
CSR_CAPABILITIES 
CSR_TYPE 

Index values for WTI_DEVICES

Enumerator
DVC_NAME 
DVC_HARDWARE 
DVC_NCSRTYPES 
DVC_FIRSTCSR 
DVC_PKTRATE 
DVC_PKTDATA 
DVC_PKTMODE 
DVC_CSRDATA 
DVC_XMARGIN 
DVC_YMARGIN 
DVC_ZMARGIN 
DVC_X 
DVC_Y 
DVC_Z 
DVC_NPRESSURE 
DVC_TPRESSURE 
DVC_ORIENTATION 
DVC_ROTATION 
DVC_PNPID 

Index values for WTI_INTERFACE.

Enumerator
IFC_WINTABID 
IFC_SPECVERSION 
IFC_IMPLVERSION 
IFC_NDEVICES 
IFC_NCURSORS 
IFC_NCONTEXTS 
IFC_CTXOPTIONS 
IFC_CTXSAVESIZE 
IFC_NEXTENSIONS 
IFC_NMANAGERS