/***********************************************************************/
/* WACOM Digitizerdriver             (C) 1993-1994 by ROLAND SCHWINGEL */
/***********************************************************************/
/* Headerfile for receiving tabletdata from the driver                 */
/* Revision 1.2                                                        */
/***********************************************************************/

/* DEFINES *******************************/
#define WACOM_PORT_NAME   "Wacom DataPort"     /* Name of the DataPort */
#define NO_PRESS          -64;                 /* No valid Pressure */

/* Structures ****************************/
struct Wacom
{
 UBYTE        Sync;            /* Synchronisation with subprocess */
                               /* (internal must be 0)*/
 UBYTE        Driver_running;  /* Driver active or not */
                               /* 0 = inactive */
                               /* 1 = active */
 UBYTE        Wacom_Series;    /* 0 = SD-Series */
                               /* 1 = UD-Series */
 UBYTE        Beeper;          /* State of the Beeper */
                               /* 0 = off */
                               /* 1 = on */
 UBYTE        Mode;            /* Pressure or "normal" Mode */
                               /* 0 = normal */
                               /* 1 = pressure */
 UBYTE        MB_Emu;          /* Mousebuttonemulation in Pressure Mode */
                               /* 0 = inactive */
                               /* 1 = active */
 int          Pressure_Limit;  /* Limit for LMB-Emulation (-30 ... 30) */
 WORD         Pressure;        /* current Pressure when in Pressure Mode */
                               /* WacomII-S: -30 ... 30 */
                               /* WacomIV:   -60 ... 60 */
 UBYTE        input_device;    /* Type of current Stylus/Digitzer */
                               /* 1 = standard Stylus */
                               /* 2 = pressure Stylus */
                               /* 4 = Digitizer */
 UBYTE        Buttons;         /* State of the current input_device Buttons */
                               /* Standard Stylus:  1 = Frontbutton */
                               /*                   2 = Sidebutton */
                               /*                   3 = both */
                               /* Digitizer:        1 = middle Button top */
                               /*                   2 = left Button */
                               /*                   3 = middle Button bottom */
                               /*                   4 = right Button */
 ULONG        Tablett_Max_X;   /* Maximum X-Value on the Digitizer */
 ULONG        Tablett_Max_Y;   /* Maximum Y-Value on the Digitizer */
 long         Tablett_X;       /* current X-Coordinate */
                               /* when in WacomIV and Multimode: */
                               /* X-Coordinate of the pen */
 long         Tablett_Y;       /* current Y-Coordinate */
                               /* when in WacomIV and Multimode: */
                               /* Y-Coordinate of the pen */

 /* Additions: 10.02.1994 */
 UBYTE        Set_Mouse;       /* Mouseemulation */
                               /* 0 = off */
                               /* 1 = Mousepointer and Buttons */
                               /* 2 = only Mousepointer */
 UBYTE        Commandset;      /* Commandset actually used */
                               /* 0 = Wacom IV */
                               /* 1 = Wacom II-S */
 UBYTE        Multi_Mode;      /* Multimode on/off (only Wacom IV) */
                               /* 0 = off */
                               /* 1 = on */
 UBYTE        Multi_Mouse;     /* inputdevice used as mouse when in */
                               /* Multi_Mode (only WacomIV) */
                               /* 0 = pen */
                               /* 1 = Digitizer */
 UBYTE        Macrokey;        /* pressed Macrobutton (only Wacom IV) */
 UBYTE        MM_Dig_Buttons;  /* pressed cursorbuttons in Multimode */
                               /* (only Wacom IV) */
 ULONG        MM_Dig_X;        /* X-Coordinate of the cursor in Multimode */
                               /* (only Wacom IV) */
 ULONG        MM_Dig_Y;        /* Y-Coordinate of the cursor in Multimode */
                               /* (only Wacom IV) */

 /* Additions: 20.03.1994 */
 UBYTE        Proximity;       /* shows proximitiy of the pointing device */
                               /* 0 = not in proximity*/
                               /* 1 = in proximity */

 UBYTE        MM_Dig_Proximity;/* shows digitizers proximity in multimode */
                               /* 0 = not in proximity */
                               /* 1 = in proximity */

 UBYTE        reserved[112];   /* for future Expansions */
};

/* Message Structure for getting the above for use with PutMsg() */
struct WacomMSG
{
 struct Message Mess;
 struct Wacom   WacomInfo;
 UBYTE          reserved[32];  /* For future Expansions */
};

