diff options
Diffstat (limited to 'sway')
| -rw-r--r-- | sway/desktop/render.c | 15 | 
1 files changed, 10 insertions, 5 deletions
| diff --git a/sway/desktop/render.c b/sway/desktop/render.c index d7869ee3..9415d469 100644 --- a/sway/desktop/render.c +++ b/sway/desktop/render.c @@ -783,20 +783,25 @@ static void render_view(struct sway_output *output, pixman_region32_t *damage,  		return;  	} +	float output_scale = output->wlr_output->scale; +	struct wlr_box box; +  	// render shadow  	if (con->shadow_enabled && config->shadow_blur_sigma > 0 && config->shadow_color[3] > 0.0) { -		struct wlr_box box = { floor(state->x), floor(state->y), state->width, state->height }; -		scale_box(&box, output->wlr_output->scale); +		box.x = floor(state->x); +		box.y = floor(state->y); +		box.width = state->width; +		box.height = state->height; +		scale_box(&box, output_scale); +		int scaled_corner_radius = (con->corner_radius + state->border_thickness) * output_scale;  		render_box_shadow(output, damage, &box, config->shadow_color, config->shadow_blur_sigma, -				con->corner_radius + state->border_thickness); +				scaled_corner_radius);  	}  	if (state->border == B_NONE || state->border == B_CSD) {  		return;  	} -	struct wlr_box box; -	float output_scale = output->wlr_output->scale;  	float color[4];  	if (state->border_left) { | 
