video: Implement additional video API functions in cfb_console
authorStefan Reinauer <reinauer@chromium.org>
Fri, 28 Sep 2012 15:11:12 +0000 (15:11 +0000)
committerAnatolij Gustschin <agust@denx.de>
Tue, 6 Nov 2012 23:48:44 +0000 (00:48 +0100)
Implement the new video API functions to provide access to screen size,
etc.

Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Signed-off-by: Simon Glass <sjg@chromium.org>
Signed-off-by: Anatolij Gustschin <agust@denx.de>
drivers/video/cfb_console.c

index 9c67b63bf4504e2345f733a9cec5485a7f52be69..6f5d4f295749862e655754fc47c37760c0aa41bd 100644 (file)
@@ -2257,3 +2257,45 @@ int drv_video_init(void)
        /* Return success */
        return 1;
 }
+
+void video_position_cursor(unsigned col, unsigned row)
+{
+       console_col = min(col, CONSOLE_COLS - 1);
+       console_row = min(row, CONSOLE_ROWS - 1);
+}
+
+int video_get_pixel_width(void)
+{
+       return VIDEO_VISIBLE_COLS;
+}
+
+int video_get_pixel_height(void)
+{
+       return VIDEO_VISIBLE_ROWS;
+}
+
+int video_get_screen_rows(void)
+{
+       return CONSOLE_ROWS;
+}
+
+int video_get_screen_columns(void)
+{
+       return CONSOLE_COLS;
+}
+
+void video_clear(void)
+{
+#ifdef VIDEO_HW_RECTFILL
+       video_hw_rectfill(VIDEO_PIXEL_SIZE,     /* bytes per pixel */
+                         0,                    /* dest pos x */
+                         0,                    /* dest pos y */
+                         VIDEO_VISIBLE_COLS,   /* frame width */
+                         VIDEO_VISIBLE_ROWS,   /* frame height */
+                         bgx                   /* fill color */
+       );
+#else
+       memsetl(video_fb_address,
+               (VIDEO_VISIBLE_ROWS * VIDEO_LINE_LEN) / sizeof(int), bgx);
+#endif
+}