diff options
author | Matthias Clasen <mclasen@redhat.com> | 2021-08-05 16:39:52 +0000 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2021-08-05 16:39:52 +0000 |
commit | 916886312a5875ce36cb10ad720199819fa11aa8 (patch) | |
tree | 414c279a7d90507e04efefe7e2989b2786632497 | |
parent | 053bd0cd317a56751b5ed85e9468eda4a285bb42 (diff) | |
parent | 46a9538b6a8b866d07e63c2ecf28c2046196f53b (diff) | |
download | gtk+-916886312a5875ce36cb10ad720199819fa11aa8.tar.gz |
Merge branch 'wip/exalm/shadow-extents' into 'master'
Shrink shadow extents
See merge request GNOME/gtk!3825
-rw-r--r-- | gsk/gskrendernodeimpl.c | 10 | ||||
-rw-r--r-- | gtk/gtkcssshadowvalue.c | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/gsk/gskrendernodeimpl.c b/gsk/gskrendernodeimpl.c index 5e07a8f92a..56cb5cd06c 100644 --- a/gsk/gskrendernodeimpl.c +++ b/gsk/gskrendernodeimpl.c @@ -2146,7 +2146,7 @@ gsk_outset_shadow_get_extents (GskOutsetShadowNode *self, { float clip_radius; - clip_radius = gsk_cairo_blur_compute_pixels (self->blur_radius); + clip_radius = gsk_cairo_blur_compute_pixels (self->blur_radius / 2.0); *top = MAX (0, clip_radius + self->spread - self->dy); *right = MAX (0, ceil (clip_radius + self->spread + self->dx)); *bottom = MAX (0, ceil (clip_radius + self->spread + self->dy)); @@ -3852,7 +3852,7 @@ gsk_shadow_node_diff (GskRenderNode *node1, return; } - clip_radius = gsk_cairo_blur_compute_pixels (shadow1->radius); + clip_radius = gsk_cairo_blur_compute_pixels (shadow1->radius / 2.0); top = MAX (top, ceil (clip_radius - shadow1->dy)); right = MAX (right, ceil (clip_radius + shadow1->dx)); bottom = MAX (bottom, ceil (clip_radius + shadow1->dy)); @@ -3886,7 +3886,7 @@ gsk_shadow_node_get_bounds (GskShadowNode *self, for (i = 0; i < self->n_shadows; i++) { - float clip_radius = gsk_cairo_blur_compute_pixels (self->shadows[i].radius); + float clip_radius = gsk_cairo_blur_compute_pixels (self->shadows[i].radius / 2.0); top = MAX (top, clip_radius - self->shadows[i].dy); right = MAX (right, clip_radius + self->shadows[i].dx); bottom = MAX (bottom, clip_radius + self->shadows[i].dy); @@ -4866,7 +4866,7 @@ gsk_blur_node_diff (GskRenderNode *node1, cairo_region_t *sub; int i, n, clip_radius; - clip_radius = ceil (gsk_cairo_blur_compute_pixels (self1->radius)); + clip_radius = ceil (gsk_cairo_blur_compute_pixels (self1->radius / 2.0)); sub = cairo_region_create (); gsk_render_node_diff (self1->child, self2->child, sub); @@ -4913,7 +4913,7 @@ gsk_blur_node_new (GskRenderNode *child, self->child = gsk_render_node_ref (child); self->radius = radius; - clip_radius = gsk_cairo_blur_compute_pixels (radius); + clip_radius = gsk_cairo_blur_compute_pixels (radius / 2.0); graphene_rect_init_from_rect (&node->bounds, &child->bounds); graphene_rect_inset (&self->render_node.bounds, diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index 94fccffd82..ba74f321ad 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -542,8 +542,8 @@ gtk_css_shadow_value_get_extents (const GtkCssValue *value, spread = _gtk_css_number_value_get (shadow->spread, 0); radius = _gtk_css_number_value_get (shadow->radius, 0); - if (value->is_filter) - radius = radius * 2; + if (!value->is_filter) + radius = radius / 2.0; clip_radius = gsk_cairo_blur_compute_pixels (radius); hoffset = _gtk_css_number_value_get (shadow->hoffset, 0); voffset = _gtk_css_number_value_get (shadow->voffset, 0); |