[U-Boot] [PATCH v2] video: Provide an API to access video parameters

Anatolij Gustschin agust at denx.de
Tue Nov 6 23:08:02 CET 2012


From: Stefan Reinauer <reinauer at chromium.org>

Create a basic API to provide access to video parameters such as screen
size, and to position the cursor on the screen. Also add a prototype
for video_display_bitmap() which was missing.

Signed-off-by: Stefan Reinauer <reinauer at chromium.org>
Signed-off-by: Simon Glass <sjg at chromium.org>
Signed-off-by: Anatolij Gustschin <agust at denx.de>
---
Changes in v2:
 - include video.h in cmd_bmp.c to fix compiler warning:
	cmd_bmp.c:242:2: warning: implicit declaration of function
	'video_display_bitmap' [-Wimplicit-function-declaration]

 common/cmd_bmp.c |    5 ++---
 include/video.h  |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 50 insertions(+), 3 deletions(-)

diff --git a/common/cmd_bmp.c b/common/cmd_bmp.c
index b8809e3..5a52edd 100644
--- a/common/cmd_bmp.c
+++ b/common/cmd_bmp.c
@@ -31,6 +31,7 @@
 #include <command.h>
 #include <asm/byteorder.h>
 #include <malloc.h>
+#include <video.h>
 
 static int bmp_info (ulong addr);
 
@@ -238,9 +239,7 @@ int bmp_display(ulong addr, int x, int y)
 #if defined(CONFIG_LCD)
 	ret = lcd_display_bitmap((ulong)bmp, x, y);
 #elif defined(CONFIG_VIDEO)
-	extern int video_display_bitmap (ulong, int, int);
-
-	ret = video_display_bitmap ((unsigned long)bmp, x, y);
+	ret = video_display_bitmap((unsigned long)bmp, x, y);
 #else
 # error bmp_display() requires CONFIG_LCD or CONFIG_VIDEO
 #endif
diff --git a/include/video.h b/include/video.h
index 9519cea..f7e27f8 100644
--- a/include/video.h
+++ b/include/video.h
@@ -15,4 +15,52 @@ int	video_init	(void *videobase);
 void	video_putc	(const char c);
 void	video_puts	(const char *s);
 
+/**
+ * Display a BMP format bitmap on the screen
+ *
+ * @param bmp_image	Address of BMP image
+ * @param x		X position to draw image
+ * @param y		Y position to draw image
+ */
+int video_display_bitmap(ulong bmp_image, int x, int y);
+
+/**
+ * Get the width of the screen in pixels
+ *
+ * @return width of screen in pixels
+ */
+int video_get_pixel_width(void);
+
+/**
+ * Get the height of the screen in pixels
+ *
+ * @return height of screen in pixels
+ */
+int video_get_pixel_height(void);
+
+/**
+ * Get the number of text lines/rows on the screen
+ *
+ * @return number of rows
+ */
+int video_get_screen_rows(void);
+
+/**
+ * Get the number of text columns on the screen
+ *
+ * @return number of columns
+ */
+int video_get_screen_columns(void);
+
+/**
+ * Set the position of the text cursor
+ *
+ * @param col	Column to place cursor (0 = left side)
+ * @param row	Row to place cursor (0 = top line)
+ */
+void video_position_cursor(unsigned col, unsigned row);
+
+/* Clear the display */
+void video_clear(void);
+
 #endif
-- 
1.7.1



More information about the U-Boot mailing list