From c08c142f95556321bd96f5808a32571cacf7f715 Mon Sep 17 00:00:00 2001 From: Daniel van Vugt Date: Thu, 24 Jun 2021 19:06:33 +0800 Subject: [PATCH] st/widget: Include the shadow in the paint volume Having an inaccurate paint volume didn't matter until ae338af1e8, but after that having too small a paint volume resulted in apparent clipping. Not because `clip_to_allocation` is set, but because the offscreen framebuffer is sized to fit the paint volume only. Part-of: --- src/st/st-widget.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/st/st-widget.c b/src/st/st-widget.c index 05a2dd134..644b8e25a 100644 --- a/src/st/st-widget.c +++ b/src/st/st-widget.c @@ -794,6 +794,16 @@ st_widget_get_paint_volume (ClutterActor *self, if (!clutter_actor_get_clip_to_allocation (self)) { ClutterActor *child; + StShadow *shadow_spec = st_theme_node_get_text_shadow (theme_node); + + if (shadow_spec) + { + ClutterActorBox shadow_box; + + st_shadow_get_box (shadow_spec, &alloc_box, &shadow_box); + clutter_paint_volume_union_box (volume, &shadow_box); + } + /* Based on ClutterGroup/ClutterBox; include the children's * paint volumes, since they may paint outside our allocation. */