diff options
Diffstat (limited to 'os/ipaq1110/screen.h')
| -rw-r--r-- | os/ipaq1110/screen.h | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/os/ipaq1110/screen.h b/os/ipaq1110/screen.h new file mode 100644 index 00000000..2d42e9e0 --- /dev/null +++ b/os/ipaq1110/screen.h @@ -0,0 +1,64 @@ +typedef struct Cursor Cursor; +typedef struct LCDmode LCDmode; +typedef struct LCDparam LCDparam; +typedef struct Vdisplay Vdisplay; +typedef struct Vmode Vmode; + +#define CURSWID 16 +#define CURSHGT 16 + +struct Cursor { + Point offset; + uchar clr[CURSWID/BI2BY*CURSHGT]; + uchar set[CURSWID/BI2BY*CURSHGT]; +}; + +struct Vmode { + int x; /* 0 -> default or any match for all fields */ + int y; + uchar depth; + uchar hz; +}; + +struct Vdisplay { + uchar* fb; /* frame buffer */ + ulong colormap[256][3]; + int bwid; + Lock; + Vmode; +}; + +struct LCDparam { + uchar pbs; + uchar dual; + uchar mono; + uchar active; + uchar hsync_wid; + uchar sol_wait; + uchar eol_wait; + uchar vsync_hgt; + uchar sof_wait; + uchar eof_wait; + uchar lines_per_int; + uchar palette_delay; + uchar acbias_lines; + uchar obits; + uchar vsynclow; + uchar hsynclow; +}; + +struct LCDmode { + Vmode; + LCDparam; +}; + +int archlcdmode(LCDmode*); + +Vdisplay *lcd_init(LCDmode*); +void lcd_setcolor(ulong, ulong, ulong, ulong); +void lcd_flush(void); + +extern void blankscreen(int); +extern void drawblankscreen(int); +extern ulong blanktime; +extern Point mousexy(void); |
