[U-Boot] [PATCH] video: Fix splash screen alignment
Simon Glass
sjg at chromium.org
Thu Feb 28 02:14:36 CET 2013
On Fri, Feb 15, 2013 at 5:35 AM, Matthias Weisser <weisserm at arcor.de> wrote:
> commit d484b52 "video: Skip bitmaps which do not fit into the screen in
> cfb_console" breaks splash screen alignment which is passed in as magic
> (BMP_ALIGN_CENTER) x/y coordinates. Moving the check after the alignment block
> fixes this.
>
> Signed-off-by: Matthias Weisser <weisserm at arcor.de>
Acked-by: Simon Glass <sjg at chromium.org>
> ---
> drivers/video/cfb_console.c | 14 +++++++-------
> 1 file changed, 7 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/video/cfb_console.c b/drivers/video/cfb_console.c
> index 26f673a..61e1058 100644
> --- a/drivers/video/cfb_console.c
> +++ b/drivers/video/cfb_console.c
> @@ -1515,13 +1515,6 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
>
> padded_line = (((width * bpp + 7) / 8) + 3) & ~0x3;
>
> - /*
> - * Just ignore elements which are completely beyond screen
> - * dimensions.
> - */
> - if ((x >= VIDEO_VISIBLE_COLS) || (y >= VIDEO_VISIBLE_ROWS))
> - return 0;
> -
> #ifdef CONFIG_SPLASH_SCREEN_ALIGN
> if (x == BMP_ALIGN_CENTER)
> x = max(0, (VIDEO_VISIBLE_COLS - width) / 2);
> @@ -1534,6 +1527,13 @@ int video_display_bitmap(ulong bmp_image, int x, int y)
> y = max(0, VIDEO_VISIBLE_ROWS - height + y + 1);
> #endif /* CONFIG_SPLASH_SCREEN_ALIGN */
>
> + /*
> + * Just ignore elements which are completely beyond screen
> + * dimensions.
> + */
> + if ((x >= VIDEO_VISIBLE_COLS) || (y >= VIDEO_VISIBLE_ROWS))
> + return 0;
> +
> if ((x + width) > VIDEO_VISIBLE_COLS)
> width = VIDEO_VISIBLE_COLS - x;
> if ((y + height) > VIDEO_VISIBLE_ROWS)
> --
> 1.7.9.5
>
More information about the U-Boot
mailing list