[PATCH] desktop-shell: support an option to use 16 bit color or not, instead of using it by default

Pekka Paalanen ppaalanen at gmail.com
Wed May 20 23:59:55 PDT 2015


On Wed, 20 May 2015 18:24:38 -0400
nerdopolis <bluescreen_avenger at verizon.net> wrote:

> ---
>  clients/desktop-shell.c | 13 +++++++++++--
>  man/weston.ini.man      |  4 ++++
>  2 files changed, 15 insertions(+), 2 deletions(-)
> 
> diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
> index e2f9f80..d4ba127 100644
> --- a/clients/desktop-shell.c
> +++ b/clients/desktop-shell.c
> @@ -94,6 +94,7 @@ struct background {
>  	char *image;
>  	int type;
>  	uint32_t color;
> +	int32_t low_bpp;
>  };
>  
>  struct output {
> @@ -1015,10 +1016,18 @@ background_create(struct desktop *desktop)
>  	window_set_user_data(background->window, background);
>  	widget_set_redraw_handler(background->widget, background_draw);
>  	widget_set_transparent(background->widget, 0);
> -	window_set_preferred_format(background->window,
> -				    WINDOW_PREFERRED_FORMAT_RGB565);
>  
>  	s = weston_config_get_section(desktop->config, "shell", NULL, NULL);
> +	weston_config_section_get_bool(s, "background-low-bpp",
> +					 &background->low_bpp, NULL);
> +	if (!background->low_bpp) {
> +	  window_set_preferred_format(background->window,
> +				      WINDOW_PREFERRED_FORMAT_NONE);

This call is still unneeded, isn't it?

Would be easier to read without the double-negative (if-not -> else),
too.

> +	} else {
> +	  window_set_preferred_format(background->window,
> +				      WINDOW_PREFERRED_FORMAT_RGB565);
> +	}
> +
>  	weston_config_section_get_string(s, "background-image",
>  					 &background->image, NULL);
>  	weston_config_section_get_uint(s, "background-color",
> diff --git a/man/weston.ini.man b/man/weston.ini.man
> index fe86bb6..3a8b2a4 100644
> --- a/man/weston.ini.man
> +++ b/man/weston.ini.man
> @@ -216,6 +216,10 @@ output. Tile repeats the background image to fill the output.
>  sets the color of the background (unsigned integer). The hexadecimal
>  digit pairs are in order alpha, red, green, and blue.
>  .TP 7
> +.BI "background-low-bpp=" true
> +specify to reduce the background to 16 bit color (boolean). This option is
> +useful for low memory platforms. This only affects the background.
> +.TP 7
>  .BI "panel-color=" 0xAARRGGBB
>  sets the color of the panel (unsigned integer). The hexadecimal
>  digit pairs are in order transparency, red, green, and blue. Examples:

Anyway, I'm ok with this though I really would have preferred the 16/32
switch. Documentation is there to document the valid values.

Reviewed-by: Pekka Paalanen <pekka.paalanen at collabora.co.uk>

I'm ok landing this before RC2.


Thanks,
pq


More information about the wayland-devel mailing list