inkustr.h

Go to the documentation of this file.
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 {              // LCD Backlight intensity settings
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 {   // used for lighting up single LCD pixels
00083     INT16U  x;
00084     INT8U   y;
00085 } LCD_POINT, *PLCD_POINT;
00086 
00102 typedef struct {   // used for specifying display inking limits
00103     LCD_POINT   upperLeft;
00104     LCD_POINT   lowerRight;
00105 } LCD_RECT, *PLCD_RECT;
00106 
00122 typedef struct {    // signature display related variables
00123     INT8U       onOffAuto;            // ON_OFF_AUTO          B_AUTO
00124     INT8U       layer;                // LCD_LAYER            LAYER_1
00125     INT8U       color;                // PEN_COLOR            PEN_BLACK
00126     INT16U      autoTime_10mSec;        // x * 10 mSec          500 (5 seconds)
00127     INT8U       width;
00128     LCD_RECT        region;
00129 } INK_INFO, *PINK_INFO;
00130 
00145 typedef struct {
00146     INT8U       cursor;           // cursor visibility to be 00
00147     INT8U       layer1;           // layer 1 controls, 2 bits
00148     INT8U       layer2;           // layer 2 controls, 2 bits
00149     INT8U       layer3;           // layer 3 controls, 2 bits
00150 } VISIBILITY, *PVISIBILITY;
00151 
00155 typedef enum {          // visibility options for LCD layers
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 {         // Default Settings
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 {                      // self test code descriptions
00210     STATUS_IO_FAILURE = 0xff,       // Indicates we failed to do I/O to the device.
00211     STATUS_OK = 0
00212 } TEST_RESULT;
00213 
00233 typedef struct {
00234     INT8U           layer;
00235     INT8U           originX;
00236     INT8U           originY;
00237     INT8U           bReserved[4]; // unused - set to zero
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]; // unused - set to zero
00246     INT8U           rawData[LCD_BITMAP_WIDTH*LCD_BITMAP_HEIGHT/8];
00247 } LCD_BITMAP;
00248 
00260 typedef struct { // Display gain and 
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 {     // System calibration settings
00283     DISPLAY_CAL     display;        // LCD X and Y gain & offset
00284     INT16U          pressureThreshold;  // min pressure to activate
00285     INT16U          pressureGain;
00286     FILTER_CAL      filter;         // speed adaptive filter parameters
00287     INT16U          mouseGain;      // mouse speed settings
00288 } SYS_CAL, *PSYS_CAL;
00289 
00290 #endif
00291 

Generated on Tue Nov 21 11:11:28 2006 for ePadAPIs by  doxygen 1.4.6-NO