aboutsummaryrefslogtreecommitdiffstats
path: root/com32/lib/sys/vesa/video.h
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2006-08-28 00:28:31 -0700
committerH. Peter Anvin <hpa@zytor.com>2006-08-28 00:28:31 -0700
commit185b1c3a6c1f3ba8566507f1d8fe555480495a9c (patch)
treea7d8b1cad0ba798617ceec4b783f3937c23a8b54 /com32/lib/sys/vesa/video.h
parentb76cbd9c17c8001bdba243dffe6df0199b2cf049 (diff)
downloadsyslinux-185b1c3a6c1f3ba8566507f1d8fe555480495a9c.tar.gz
syslinux-185b1c3a6c1f3ba8566507f1d8fe555480495a9c.tar.xz
syslinux-185b1c3a6c1f3ba8566507f1d8fe555480495a9c.zip
More work on VESA graphical console support
Diffstat (limited to 'com32/lib/sys/vesa/video.h')
-rw-r--r--com32/lib/sys/vesa/video.h29
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 */