aboutsummaryrefslogtreecommitdiff
path: root/swaylock/render.c
diff options
context:
space:
mode:
authoremersion <contact@emersion.fr>2018-07-04 11:34:01 +0100
committerGitHub <noreply@github.com>2018-07-04 11:34:01 +0100
commitf414885b1d1f09b92619dcedc4ec2d20b257a9aa (patch)
tree76afc471ef8228a2cc09dcee5871e8235eae112e /swaylock/render.c
parentbee5338146088121b01ee0ee4cac4a7c5214b071 (diff)
parentffc61e5f3fbe479ec2651ea73ec3df0c57ed83db (diff)
Merge pull request #2200 from mucamaca/fix_transparency
Fix #1857 -> transparency in swaylock
Diffstat (limited to 'swaylock/render.c')
-rw-r--r--swaylock/render.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/swaylock/render.c b/swaylock/render.c
index 2032ddcf..ea23d0d8 100644
--- a/swaylock/render.c
+++ b/swaylock/render.c
@@ -30,6 +30,8 @@ void render_frame(struct swaylock_surface *surface) {
cairo_t *cairo = surface->current_buffer->cairo;
cairo_identity_matrix(cairo);
+ cairo_save(cairo);
+ cairo_set_operator(cairo, CAIRO_OPERATOR_SOURCE);
if (state->args.mode == BACKGROUND_MODE_SOLID_COLOR || !surface->image) {
cairo_set_source_u32(cairo, state->args.color);
cairo_paint(cairo);
@@ -37,6 +39,7 @@ void render_frame(struct swaylock_surface *surface) {
render_background_image(cairo, surface->image,
state->args.mode, buffer_width, buffer_height);
}
+ cairo_restore(cairo);
cairo_identity_matrix(cairo);
int arc_radius = ARC_RADIUS * surface->scale;