提交 4b7d3a0e 编写于 作者: B Bastian Ruppert 提交者: Tom Rini

video: cfb_console: add function to plot the logo area black

Signed-off-by: NBastian Ruppert <Bastian.Ruppert@Sewerin.de>
CC: Anatolij Gustschin <agust@denx.de>
CC: Tom Rini <trini@ti.com>
CC: Stefano Babic <sbabic@denx.de>
上级 1e681f9a
......@@ -1487,7 +1487,39 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
static int video_logo_xpos;
static int video_logo_ypos;
void logo_plot(void *screen, int width, int x, int y)
static void plot_logo_or_black(void *screen, int width, int x, int y, \
int black);
static void logo_plot(void *screen, int width, int x, int y)
{
plot_logo_or_black(screen, width, x, y, 0);
}
static void logo_black(void)
{
plot_logo_or_black(video_fb_address, \
VIDEO_COLS, \
video_logo_xpos, \
video_logo_ypos, \
1);
}
static int do_clrlogo(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{
if (argc != 1)
return cmd_usage(cmdtp);
logo_black();
return 0;
}
U_BOOT_CMD(
clrlogo, 1, 0, do_clrlogo,
"fill the boot logo area with black",
" "
);
static void plot_logo_or_black(void *screen, int width, int x, int y, int black)
{
int xcount, i;
......@@ -1545,9 +1577,15 @@ void logo_plot(void *screen, int width, int x, int y)
#endif
xcount = VIDEO_LOGO_WIDTH;
while (xcount--) {
r = logo_red[*source - VIDEO_LOGO_LUT_OFFSET];
g = logo_green[*source - VIDEO_LOGO_LUT_OFFSET];
b = logo_blue[*source - VIDEO_LOGO_LUT_OFFSET];
if (black) {
r = 0x00;
g = 0x00;
b = 0x00;
} else {
r = logo_red[*source - VIDEO_LOGO_LUT_OFFSET];
g = logo_green[*source - VIDEO_LOGO_LUT_OFFSET];
b = logo_blue[*source - VIDEO_LOGO_LUT_OFFSET];
}
switch (VIDEO_DATA_FORMAT) {
case GDF__8BIT_INDEX:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册