cmd: bmp: manage centered display
PATCH 1/1 cmd: bmp: manage centered display
Allow to display BMP at the middle of the screen.
'm' means "middle" as it is done for the splashscreen variable:
splashpos=m,m
---
Example for command
load mmc 0:4 ${splashimage} splash.bmp
bmp display ${splashimage} m m
or function can be used directly
bmp_display(0xC0000000, BMP_ALIGN_CENTER, BMP_ALIGN_CENTER)
cmd/bmp.c | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-)
cmd/bmp.c +14 -5
@@ -108,6 +108,7 @@ static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[return (bmp_info (addr)); } +#define BMP_ALIGN_CENTER 0x7FFFstatic int do_bmp_display (cmd_tbl_t * cmdtp,int flag,int argc,char *const argv[]) {ulong addr;
@@ -124,8 +125,14 @@ static int do_bmp_display(cmd_tbl_t * cmdtp, int flag, int argc, char * const arbreak ;case 4 : addr =simple_strtoul (argv[1 ],NULL ,16 ); - x =simple_strtoul (argv[2 ],NULL ,10 ); - y =simple_strtoul (argv[3 ],NULL ,10 ); +if (!strcmp (argv[2 ],"m" )) + x =BMP_ALIGN_CENTER ; +else + x =simple_strtoul (argv[2 ],NULL ,10 ); +if (!strcmp (argv[3 ],"m" )) + y =BMP_ALIGN_CENTER ; +else + y =simple_strtoul (argv[3 ],NULL ,10 );break ;default :return CMD_RET_USAGE ;
@@ -249,9 +256,11 @@ int bmp_display(ulong addr, int x, int y)if (!ret) {bool align = false; -# ifdef CONFIG_SPLASH_SCREEN_ALIGN - align = true; -# endif /* CONFIG_SPLASH_SCREEN_ALIGN */ +if (CONFIG_IS_ENABLED (SPLASH_SCREEN_ALIGN ) || + x ==BMP_ALIGN_CENTER || + y ==BMP_ALIGN_CENTER ) + align = true; + ret =video_bmp_display (dev, addr, x, y, align); }#elif defined(CONFIG_LCD )
Signature · 1 line
2.7.4
PATCH 1/1 cmd: bmp: manage centered display
Hi Patrick,
On Wed, 14 Nov 2018 10:18:22 +0100
Patrick Delaunay patrick.delaunay at st.com wrote:
...
cmd/bmp.c static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[ · line 111
Quoted 9 lines
cmd/bmp.c +1
-0@@ -108,6 +108,7 @@ static int do_bmp_info(cmd_tbl_t * cmdtp, int flag, int argc, char * const argv[return (bmp_info (addr)); } +#define BMP_ALIGN_CENTER 0x7FFF
this already exists when including splash.h, I dropped it in v2.
--
Anatolij
PATCH 1/1 cmd: bmp: manage centered display
Hi Anatolij,
Quoted 5 lines
From: Anatolij Gustschin <[email protected]>
Sent: samedi 1 décembre 2018 15:06Hi Patrick,
Quoted 7 lines
On Wed, 14 Nov 2018 10:18:22 +0100
Patrick Delaunay patrick.delaunay at st.com wrote:
...Quoted 2 lines
+#define
BMP_ALIGN_CENTER0x7FFFthis already exists when including
splash.h, I dropped it in v2.
Ok, I don't see that splash.h is included in cmd/bmp.c.
In fact I hesitate to move this define in commun bmp include (in include/lcd.h with bmp_display prototype for exmaple) to avoid a other double definition:
common/lcd.c:392 #define BMP_ALIGN_CENTER 0x7FFF
drivers/video/video_bmp.c:143:#define BMP_ALIGN_CENTER 0x7fff
include/splash.h:78:#define BMP_ALIGN_CENTER 0x7FFF
Quoted 2 lines
--
Anatolij
PATCH 1/1 cmd: bmp: manage centered display
Hi Patrick,
On Mon, 3 Dec 2018 08:45:57 +0000
Patrick DELAUNAY patrick.delaunay at st.com wrote:
...
Quoted 5 lines
Quoted 3 lines
Quoted 1 line
+#define
BMP_ALIGN_CENTER0x7FFFthis already exists when including
splash.h, I dropped it in v2.Ok, I don't see that
splash.his included incmd/bmp.c.
In mainline U-Boot it is included, please see [1].
Quoted 7 lines
In fact I hesitate to move this define in commun bmp include (in
include/lcd.hwithbmp_displayprototype for exmaple) to avoid a other double definition:
common/lcd.c:392#defineBMP_ALIGN_CENTER0x7FFF
drivers/video/video_bmp.c:143:#defineBMP_ALIGN_CENTER0x7fff
include/splash.h:78:#defineBMP_ALIGN_CENTER0x7FFF
I've sent a patch cleaning up multiple defines, please see [2].
[1] http://git.denx.de/?p=u-boot.git;a=blob;f=cmd/bmp.c;h=02bdf48b4d422ced97dea7587f07d74c0aee6d6e;hb=HEAD#l20
[2] http://patchwork.ozlabs.org/patch/1006354
--
Anatolij