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>
master
Stefan Reinauer 12 years ago committed by Anatolij Gustschin
parent 945d069fb5
commit f674f7cfc0
  1. 5
      common/cmd_bmp.c
  2. 48
      include/video.h

@ -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

@ -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

Loading…
Cancel
Save