--
coresystems GmbH • Brahmsstr. 16 • D-79104 Freiburg i. Br.
Tel.: +49 761 7668825 • Fax: +49 761 7664613
Email: info@coresystems.de •
http://www.coresystems.de/
Registergericht: Amtsgericht Freiburg • HRB 7656
Geschäftsführer: Stefan Reinauer • Ust-IdNr.: DE245674866
add functions to query cursor position to video layer
Signed-off-by: Stefan Reinauer
stepan@coresystems.de
Index: include/libpayload.h
===================================================================
--- include/libpayload.h (revision 3519)
+++ include/libpayload.h (working copy)
@@ -120,7 +124,12 @@
void video_console_putc(u8 row, u8 col, unsigned int ch);
void video_console_clear(void);
void video_console_cursor_enable(int state);
+void video_console_get_cursor(unsigned int *x, unsigned int *y, unsigned int *en);
+void video_console_set_cursor(unsigned int cursorx, unsigned int cursory);
+/* drivers/option.c */
+int get_option(void *dest, char *name);
+
/* libc/console.c */
void console_init(void);
int putchar(int c);
Index: drivers/video/video.c
===================================================================
--- drivers/video/video.c (revision 3519)
+++ drivers/video/video.c (working copy)
@@ -141,6 +141,26 @@
video_console_fixup_cursor();
}
+void video_console_get_cursor(unsigned int *x, unsigned int *y, unsigned int *en)
+{
+ *x=0;
+ *y=0;
+ *en=0;
+
+ if (console->get_cursor)
+ console->get_cursor(x, y, en);
+
+ *x = cursorx;
+ *y = cursory;
+}
+
+void video_console_set_cursor(unsigned int x, unsigned int y)
+{
+ cursorx = x;
+ cursory = y;
+ video_console_fixup_cursor();
+}
+
int video_console_init(void)
{
int i;