theme: refactor rendering of rounded hover effect

This commit is contained in:
tokyo4j 2024-10-03 09:21:47 +09:00 committed by Johan Malm
parent db3aab77fe
commit c06b86c345

View file

@ -198,19 +198,15 @@ create_hover_fallback(struct theme *theme, const char *icon_name,
}; };
struct lab_data_buffer *mask_buffer = struct lab_data_buffer *mask_buffer =
rounded_rect(&rounded_ctx); rounded_rect(&rounded_ctx);
cairo_pattern_t *mask_pattern =
cairo_pattern_create_for_surface(
cairo_get_target(mask_buffer->cairo));
int mask_offset; int mask_offset;
if (corner == LAB_CORNER_TOP_LEFT) { if (corner == LAB_CORNER_TOP_LEFT) {
mask_offset = -theme->padding_width; mask_offset = -theme->padding_width;
} else { } else {
mask_offset = 0; mask_offset = 0;
} }
cairo_save(cairo); cairo_mask_surface(cairo,
cairo_translate(cairo, mask_offset, 0); cairo_get_target(mask_buffer->cairo),
cairo_mask(cairo, mask_pattern); mask_offset, 0);
cairo_restore(cairo);
wlr_buffer_drop(&mask_buffer->base); wlr_buffer_drop(&mask_buffer->base);
} }
break; break;