desktop-shell: Fix black edges on scaled desktop pattern

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
This commit is contained in:
Bill Spitzak 2014-05-08 20:00:35 -07:00 committed by Kristian Høgsberg
parent 6d43f045e3
commit 79b7cb3ee3
1 changed files with 2 additions and 0 deletions

View File

@ -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);