[psplash][PATCH v2] Add configure options to disable progress bar


Pavel Zhukov
 

Progress bar can overlap with products logos, added
--disable-progress-bar configure option to disable progress
bar completely without patching the code.
Default behaviour is to show progress bar

Signed-off-by: Pavel Zhukov <pavel.zhukov@huawei.com>
---
configure.ac | 8 ++++++++
psplash-config.h | 5 +++++
psplash.c | 14 ++++++++++----
3 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/configure.ac b/configure.ac
index 2d836a1..2a7da91 100644
--- a/configure.ac
+++ b/configure.ac
@@ -37,6 +37,14 @@ AS_IF([test x$disable_startup_msg =3D xtrue], [
EXTRA_GCC_FLAGS=3D"$EXTRA_GCC_FLAGS -DPSPLASH_DISABLE_STARTUP_MSG"
])
=20
+AC_ARG_ENABLE([progress-bar],
+ AS_HELP_STRING([--disable-progress-bar], [Disable progress bar]),
+ [disable_progress_bar=3Dtrue],
+ [disable_progress_bar=3Dfalse])
+AS_IF([test x$disable_progress_bar =3D xtrue], [
+ EXTRA_GCC_FLAGS=3D"$EXTRA_GCC_FLAGS -DPSPLASH_DISABLE_PROGRESS_BAR"
+])
+
AC_ARG_ENABLE([img-fullscreen],
AS_HELP_STRING([--enable-img-fullscreen], [Enable the logo image in =
fullscreen mode)]),
[img_fullscreen=3Dtrue],
diff --git a/psplash-config.h b/psplash-config.h
index 0ba8440..eb90ef3 100644
--- a/psplash-config.h
+++ b/psplash-config.h
@@ -21,6 +21,11 @@
#define PSPLASH_IMG_FULLSCREEN 0
#endif
=20
+/* Bool indicated if the progress bar should be disabled */
+#ifndef PSPLASH_DISABLE_PROGRESS_BAR
+#define PSPLASH_SHOW_PROGRESS_BAR 1
+#endif
+
/* Position of the image split from top edge, numerator of fraction */
#define PSPLASH_IMG_SPLIT_NUMERATOR 5
=20
diff --git a/psplash.c b/psplash.c
index 1a56629..ee1af6b 100644
--- a/psplash.c
+++ b/psplash.c
@@ -61,6 +61,7 @@ psplash_draw_msg (PSplashFB *fb, const char *msg)
msg);
}
=20
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
void
psplash_draw_progress (PSplashFB *fb, int value)
{
@@ -95,6 +96,7 @@ psplash_draw_progress (PSplashFB *fb, int value)
DBG("value: %i, width: %i, barwidth :%i\n", value,=20
width, barwidth);
}
+#endif /* PSPLASH_SHOW_PROGRESS_BAR */
=20
static int=20
parse_command (PSplashFB *fb, char *string)
@@ -108,20 +110,22 @@ parse_command (PSplashFB *fb, char *string)
=20
command =3D strtok(string," ");
=20
- if (!strcmp(command,"PROGRESS"))=20
+ if (!strcmp(command,"MSG"))
{
char *arg =3D strtok(NULL, "\0");
=20
if (arg)
- psplash_draw_progress (fb, atoi(arg));
+ psplash_draw_msg (fb, arg);
}=20
- else if (!strcmp(command,"MSG"))=20
+ #ifdef PSPLASH_SHOW_PROGRESS_BAR
+ else if (!strcmp(command,"PROGRESS"))
{
char *arg =3D strtok(NULL, "\0");
=20
if (arg)
- psplash_draw_msg (fb, arg);
+ psplash_draw_progress (fb, atoi(arg));
}=20
+#endif
else if (!strcmp(command,"QUIT"))=20
{
return 1;
@@ -311,6 +315,7 @@ main (int argc, char** argv)
POKY_IMG_ROWSTRIDE,
POKY_IMG_RLE_PIXEL_DATA);
=20
+#ifdef PSPLASH_SHOW_PROGRESS_BAR
/* Draw progress bar border */
psplash_fb_draw_image (fb,=20
(fb->width - BAR_IMG_WIDTH)/2,=20
@@ -322,6 +327,7 @@ main (int argc, char** argv)
BAR_IMG_RLE_PIXEL_DATA);
=20
psplash_draw_progress (fb, 0);
+#endif
=20
#ifdef PSPLASH_STARTUP_MSG
psplash_draw_msg (fb, PSPLASH_STARTUP_MSG);
--=20
2.31.1