Patchwork [U-Boot] video: Fix splash screen alignment

login
register
mail settings
Submitter Matthias Weisser
Date Feb. 15, 2013, 1:35 p.m.
Message ID <1360935312-30274-1-git-send-email-weisserm@arcor.de>
Download mbox | patch
Permalink /patch/220746/
State Accepted
Delegated to: Anatolij Gustschin
Headers show

Comments

Matthias Weisser - Feb. 15, 2013, 1:35 p.m.
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@arcor.de>
---
 drivers/video/cfb_console.c |   14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)
Simon Glass - Feb. 28, 2013, 1:14 a.m.
On Fri, Feb 15, 2013 at 5:35 AM, Matthias Weisser <weisserm@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@arcor.de>

Acked-by: Simon Glass <sjg@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
>
Anatolij Gustschin - March 29, 2013, 11:09 a.m.
Hello,

On Fri, 15 Feb 2013 14:35:12 +0100
Matthias Weisser <weisserm@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@arcor.de>
> ---
>  drivers/video/cfb_console.c |   14 +++++++-------
>  1 file changed, 7 insertions(+), 7 deletions(-)

applied, thanks!

Anatolij

Patch

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)