Message ID | 1542187102-20993-1-git-send-email-patrick.delaunay@st.com |
---|---|
State | Superseded |
Delegated to: | Anatolij Gustschin |
Headers | show |
Series | [U-Boot] cmd: bmp: manage centered display | expand |
Hi Patrick, On Wed, 14 Nov 2018 10:18:22 +0100 Patrick Delaunay patrick.delaunay@st.com wrote: ... > diff --git a/cmd/bmp.c b/cmd/bmp.c > index 02bdf48..1ace8a8 100644 > --- a/cmd/bmp.c > +++ b/cmd/bmp.c > @@ -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
Hi Anatolij, > From: Anatolij Gustschin <agust@denx.de> > Sent: samedi 1 décembre 2018 15:06 > > Hi Patrick, > > On Wed, 14 Nov 2018 10:18:22 +0100 > Patrick Delaunay patrick.delaunay@st.com wrote: > ... > > > > +#define BMP_ALIGN_CENTER 0x7FFF > > this 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 > -- > Anatolij
Hi Patrick, On Mon, 3 Dec 2018 08:45:57 +0000 Patrick DELAUNAY patrick.delaunay@st.com wrote: ... > > > +#define BMP_ALIGN_CENTER 0x7FFF > > > > this 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 mainline U-Boot it is included, please see [1]. > 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 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
diff --git a/cmd/bmp.c b/cmd/bmp.c index 02bdf48..1ace8a8 100644 --- a/cmd/bmp.c +++ b/cmd/bmp.c @@ -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 static 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 ar break; 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)
Allow to display BMP at the middle of the screen. 'm' means "middle" as it is done for the splashscreen variable: splashpos=m,m Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com> --- 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(-)