Overwrite alpha when drawing borders

This does two important things when using alpha:

1. At corners, borders don't double in opacity
2. Foreground elements (text) can be made transparent and you can see
fully through to the wallpaper
This commit is contained in:
Drew DeVault 2016-10-12 22:42:23 -04:00
parent 56a7e5fbce
commit 67a9a94596

View file

@ -46,6 +46,7 @@ static cairo_t *create_border_buffer(swayc_t *view, struct wlc_geometry g, cairo
return NULL; return NULL;
} }
cr = cairo_create(*surface); cr = cairo_create(*surface);
cairo_set_operator(cr, CAIRO_OPERATOR_SOURCE);
if (cairo_status(cr) != CAIRO_STATUS_SUCCESS) { if (cairo_status(cr) != CAIRO_STATUS_SUCCESS) {
cairo_surface_destroy(*surface); cairo_surface_destroy(*surface);
border_clear(view->border); border_clear(view->border);