00001
00005 #ifndef __INKUSTR_H__
00006 #define __INKUSTR_H__
00007
00008 typedef unsigned char PIXELDATA;
00009
00010
00011 #define WEDGE_VID 0x04df
00012 #define WEDGE_PID 0x0030
00013
00014 #define LCD_WIDTH 320
00015 #define LCD_HEIGHT 240
00016
00017 #define LCD_BITMAP_WIDTH 64
00018 #define LCD_BITMAP_HEIGHT 64
00019
00020 #define N_SCREEN_ID 4
00021 #define BYTES_PER_SCREEN_ID ( (INT32U)LCD_WIDTH*(INT32U)LCD_HEIGHT/8L/(INT32U)N_SCREEN_ID )
00022
00028 typedef enum {
00029 B_OFF = 0,
00030 B_ON = 1,
00031 B_AUTO = 2
00032 } ON_OFF_AUTO;
00033
00034 typedef ON_OFF_AUTO ON_OFF;
00035
00039 typedef enum {
00040 LAYER1 = 0x00,
00041 LAYER2 = 0x01,
00042 LAYER3 = 0x02
00043 } LCD_LAYER;
00044
00048 typedef enum {
00049 PEN_BLACK = 1,
00050 PEN_WHITE = 0
00051 } PEN_COLOR;
00052
00058 typedef enum {
00059 BL_DIM = 0,
00060 BL_BRIGHT = 1
00061 } BRIGHTNESS;
00062
00072 typedef struct {
00073 INT8U onOffAuto;
00074 INT8U brightness;
00075 INT16U autoTime_10mSec;
00076 } BACKLIGHT_INFO, *PBACKLIGHT_INFO;
00077
00082 typedef struct {
00083 INT16U x;
00084 INT8U y;
00085 } LCD_POINT, *PLCD_POINT;
00086
00102 typedef struct {
00103 LCD_POINT upperLeft;
00104 LCD_POINT lowerRight;
00105 } LCD_RECT, *PLCD_RECT;
00106
00122 typedef struct {
00123 INT8U onOffAuto;
00124 INT8U layer;
00125 INT8U color;
00126 INT16U autoTime_10mSec;
00127 INT8U width;
00128 LCD_RECT region;
00129 } INK_INFO, *PINK_INFO;
00130
00145 typedef struct {
00146 INT8U cursor;
00147 INT8U layer1;
00148 INT8U layer2;
00149 INT8U layer3;
00150 } VISIBILITY, *PVISIBILITY;
00151
00155 typedef enum {
00156 CURSOR_OFF = 0x00,
00157 LAYER_OFF = 0x00,
00158 LAYER_ON = 0x01,
00159 LAYER_FLASH = 0x02,
00160 LAYER_HALF = 0x03
00161 } LAYER_CODE;
00162
00173 typedef enum {
00174 MIX_OR = 0x1C,
00175 MIX_XOR_OR = 0x1D,
00176 MIX_AND_OR = 0x1E,
00177 MIX_PRI_OR = 0x1F
00178 } MIX_CODE;
00179
00185 typedef struct {
00186 VISIBILITY visCode;
00187 INT8U mixCode;
00188 } DISPLAY, *PDISPLAY;
00189
00197 typedef struct {
00198 INT8U fMouseOnOff;
00199 INT8U fDisplayDefaultBitmap;
00200 INT8U fTransformInkingArea;
00201 INK_INFO ink;
00202 BACKLIGHT_INFO backlight;
00203 DISPLAY display;
00204 } OPTIONS, *POPTIONS;
00205
00209 typedef enum {
00210 STATUS_IO_FAILURE = 0xff,
00211 STATUS_OK = 0
00212 } TEST_RESULT;
00213
00233 typedef struct {
00234 INT8U layer;
00235 INT8U originX;
00236 INT8U originY;
00237 INT8U bReserved[4];
00238 INT8U rawData[LCD_WIDTH*LCD_HEIGHT/8];
00239 } LCD_SCREEN;
00240
00241 typedef struct {
00242 INT8U layer;
00243 INT8U originX;
00244 INT8U originY;
00245 INT8U bReserved[4];
00246 INT8U rawData[LCD_BITMAP_WIDTH*LCD_BITMAP_HEIGHT/8];
00247 } LCD_BITMAP;
00248
00260 typedef struct {
00261 INT8S xOffset;
00262 INT8S yOffset;
00263 INT16U xGain;
00264 INT16U yGain;
00265 } DISPLAY_CAL, *PDISPLAY_CAL;
00266
00271 typedef struct {
00272 INT16U kMax;
00273 INT16U kMin;
00274 INT16U kZeroSpeed;
00275 INT16U kMaxSpeed;
00276 } FILTER_CAL, *PFILTER_CAL;
00277
00282 typedef struct {
00283 DISPLAY_CAL display;
00284 INT16U pressureThreshold;
00285 INT16U pressureGain;
00286 FILTER_CAL filter;
00287 INT16U mouseGain;
00288 } SYS_CAL, *PSYS_CAL;
00289
00290 #endif
00291