From 6a016714f223472e35c97714f42809d92beb1f2d Mon Sep 17 00:00:00 2001 From: William McKinnon Date: Thu, 4 May 2023 22:53:43 -0400 Subject: [PATCH] adjusted shadow rendering in render_view --- sway/desktop/render.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/sway/desktop/render.c b/sway/desktop/render.c index 18fcfaa6..6316a839 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -675,8 +675,8 @@ void render_box_shadow(struct sway_output *output, pixman_region32_t *output_dam struct wlr_box box; memcpy(&box, _box, sizeof(struct wlr_box)); - box.x -= output->lx * wlr_output->scale + blur_sigma; - box.y -= output->ly * wlr_output->scale + blur_sigma; + box.x -= blur_sigma; + box.y -= blur_sigma; box.width += 2 * blur_sigma; box.height += 2 * blur_sigma; @@ -875,15 +875,13 @@ static void render_view(struct sway_output *output, pixman_region32_t *damage, // render shadow if (con->shadow_enabled && config->shadow_blur_sigma > 0 && config->shadow_color[3] > 0.0) { - box.x = floor(state->x); - box.y = floor(state->y); + box.x = floor(state->x) - output->lx; + box.y = floor(state->y) - output->ly; box.width = state->width; box.height = state->height; scale_box(&box, output_scale); - int corner_radius = config->smart_corner_radius && - output->current.active_workspace->current_gaps.top == 0 - ? 0 : con->corner_radius; - int scaled_corner_radius = (corner_radius + state->border_thickness) * output_scale; + int scaled_corner_radius = deco_data.corner_radius == 0 ? + 0 : (deco_data.corner_radius + state->border_thickness) * output_scale; render_box_shadow(output, damage, &box, config->shadow_color, config->shadow_blur_sigma, scaled_corner_radius); }