cbgfx: add clear_screen

clear_screen clears the screen with the specified color.

BUG=none
BRANCH=tot
TEST=Tested on Samus

Change-Id: I45e61c67485dbdbe15e2b602718232bc6382ad00
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Original-Commit-Id: 1ab04e2cc8d3c3e36e4eb41d9e7b0fdc25595200
Original-Change-Id: I1b3890b9e8ca52e796f417b5f41d4fa02a97a255
Original-Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/301451
Original-Reviewed-by: Randall Spangler <rspangler@chromium.org>
Reviewed-on: http://review.coreboot.org/11924
Tested-by: build bot (Jenkins)
This commit is contained in:
Daisuke Nojiri 2015-09-21 17:17:25 -07:00 committed by Patrick Georgi
parent dd49eccb50
commit fed269b1c4
2 changed files with 21 additions and 0 deletions

View File

@ -194,6 +194,22 @@ int clear_canvas(struct rgb_color *rgb)
return draw_box(&box, rgb); return draw_box(&box, rgb);
} }
int clear_screen(struct rgb_color *rgb)
{
uint32_t color;
struct vector p;
if (cbgfx_init())
return CBGFX_ERROR_INIT;
color = calculate_color(rgb);
for (p.y = 0; p.y < screen.size.height; p.y++)
for (p.x = 0; p.x < screen.size.width; p.x++)
set_pixel(&p, color);
return CBGFX_SUCCESS;
}
/* /*
* This check guarantees we will not try to read outside pixel data. * This check guarantees we will not try to read outside pixel data.
*/ */

View File

@ -90,6 +90,11 @@ int draw_box(const struct rect *box, const struct rgb_color *rgb);
*/ */
int clear_canvas(struct rgb_color *rgb); int clear_canvas(struct rgb_color *rgb);
/*
* Clear the screen
*/
int clear_screen(struct rgb_color *rgb);
/* /*
* Draw a bitmap image on screen. * Draw a bitmap image on screen.
* *