[PATCH] desktop-shell: Fix black edges on scaled desktop pattern

Kristian Høgsberg hoegsberg at gmail.com
Fri May 9 14:03:58 PDT 2014


On Thu, May 08, 2014 at 08:00:35PM -0700, Bill Spitzak wrote:
> Filter sampling outside the source image can leak black into the edges of
> the
> desktop image. This is most easily seen by scaling the default tiled image
> with this weston.ini:
> 
> 	# no background-image and no background-color
> 	background-type=scale-crop

Thanks, that's a nice detail to get right.  Patch applied.

Kristian

> ---
>  clients/desktop-shell.c |    2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/clients/desktop-shell.c b/clients/desktop-shell.c
> index 4880888..e121cc7 100644
> --- a/clients/desktop-shell.c
> +++ b/clients/desktop-shell.c
> @@ -724,6 +724,7 @@ background_draw(struct widget *widget, void *data)
>  		case BACKGROUND_SCALE:
>  			cairo_matrix_init_scale(&matrix, sx, sy);
>  			cairo_pattern_set_matrix(pattern, &matrix);
> +			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_PAD);
>  			break;
>  		case BACKGROUND_SCALE_CROP:
>  			s = (sx < sy) ? sx : sy;
> @@ -733,6 +734,7 @@ background_draw(struct widget *widget, void *data)
>  			cairo_matrix_init_translate(&matrix, tx, ty);
>  			cairo_matrix_scale(&matrix, s, s);
>  			cairo_pattern_set_matrix(pattern, &matrix);
> +			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_PAD);
>  			break;
>  		case BACKGROUND_TILE:
>  			cairo_pattern_set_extend(pattern, CAIRO_EXTEND_REPEAT);
> -- 
> 1.7.9.5
> 
> _______________________________________________
> wayland-devel mailing list
> wayland-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel


More information about the wayland-devel mailing list