diff options
author | emersion <contact@emersion.fr> | 2018-07-04 11:34:01 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-07-04 11:34:01 +0100 |
commit | f414885b1d1f09b92619dcedc4ec2d20b257a9aa (patch) | |
tree | 76afc471ef8228a2cc09dcee5871e8235eae112e /swaylock/render.c | |
parent | bee5338146088121b01ee0ee4cac4a7c5214b071 (diff) | |
parent | ffc61e5f3fbe479ec2651ea73ec3df0c57ed83db (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.c | 3 |
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; |