diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2012-09-28 15:11:11 +0000 |
---|---|---|
committer | Anatolij Gustschin <agust@denx.de> | 2012-11-06 22:57:32 +0100 |
commit | f674f7cfc019baaa6bf961cd4ed8b4aee4362f97 (patch) | |
tree | 0fbeccb551d54e6489f9f121a0a9c709df5c19c5 | |
parent | 945d069fb5c8932e74aeba178c60a9dc6e9cba93 (diff) | |
download | u-boot-imx-f674f7cfc019baaa6bf961cd4ed8b4aee4362f97.zip u-boot-imx-f674f7cfc019baaa6bf961cd4ed8b4aee4362f97.tar.gz u-boot-imx-f674f7cfc019baaa6bf961cd4ed8b4aee4362f97.tar.bz2 |
video: Provide an API to access video parameters
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@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
-rw-r--r-- | common/cmd_bmp.c | 5 | ||||
-rw-r--r-- | 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 |