diff options
Diffstat (limited to 'com32/lib/sys/vesa/video.h')
-rw-r--r-- | com32/lib/sys/vesa/video.h | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/com32/lib/sys/vesa/video.h b/com32/lib/sys/vesa/video.h index acbbc109..9237a85e 100644 --- a/com32/lib/sys/vesa/video.h +++ b/com32/lib/sys/vesa/video.h @@ -30,10 +30,37 @@ #define FONT_MAX_CHARS 256 #define FONT_MAX_HEIGHT 32 +#define FONT_WIDTH 8 #define VIDEO_X_SIZE 640 #define VIDEO_Y_SIZE 480 -extern uint8_t graphics_font[FONT_MAX_CHARS][FONT_MAX_HEIGHT]; +#define VIDEO_BORDER 8 +#define TEXT_PIXEL_ROWS (VIDEO_Y_SIZE-2*VIDEO_BORDER) +#define TEXT_PIXEL_COLS (VIDEO_X_SIZE-2*VIDEO_BORDER) + +#define SHADOW_NONE 0 +#define SHADOW_ALL 1 +#define SHADOW_NORMAL 2 +#define SHADOW_REVERSE 3 + +struct vesa_char { + uint8_t ch; /* Character */ + uint8_t attr; /* PC-style graphics attribute */ + uint8_t sha; /* Shadow attributes */ + uint8_t pad; /* Currently unused */ +}; + +extern struct vesa_char *__vesacon_text_display; + +extern int __vesacon_font_height; +extern uint8_t __vesacon_graphics_font[FONT_MAX_CHARS][FONT_MAX_HEIGHT]; +extern uint32_t __vesacon_background[VIDEO_Y_SIZE][VIDEO_X_SIZE]; +extern uint32_t __vesacon_shadowfb[VIDEO_Y_SIZE][VIDEO_X_SIZE]; + +extern unsigned char __vesacon_alpha_tbl[256][4]; + +extern int __vesacon_init_background(void); +int vesacon_load_background(const char *); #endif /* LIB_SYS_VESA_VIDEO_H */ |