diff options
author | Benjamin Otte <otte@redhat.com> | 2014-02-03 15:56:59 +0100 |
---|---|---|
committer | Benjamin Otte <otte@redhat.com> | 2014-02-03 21:38:16 +0100 |
commit | e9fb8ad1f7606deb4ae35773351e67281d56aa9f (patch) | |
tree | 5d86ac77d3a641058860b015365b0962fda9306b /gtk/gtkcssshadowvalue.c | |
parent | 43baa213b254a9457eca0ff6aec46b8678fab2ea (diff) | |
download | gtk+-e9fb8ad1f7606deb4ae35773351e67281d56aa9f.tar.gz |
css: Fix computation of pixels occupied by blur radius
These computations were done randomly in lots of places and more often
than not, they were also wrong.
This function was copied (with docs) from Firefox:
http://lxr.mozilla.org/mozilla-central/source/gfx/2d/Blur.cpp
https://bugzilla.gnome.org/show_bug.cgi?id=723159
Diffstat (limited to 'gtk/gtkcssshadowvalue.c')
-rw-r--r-- | gtk/gtkcssshadowvalue.c | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/gtk/gtkcssshadowvalue.c b/gtk/gtkcssshadowvalue.c index cdfd852612..6dcd2dd798 100644 --- a/gtk/gtkcssshadowvalue.c +++ b/gtk/gtkcssshadowvalue.c @@ -31,10 +31,6 @@ #include <math.h> -/* The blur of _gtk_cairo_blur_surface only approximately ends at radius, - so we add an extra pixel to make the clips less dramatic */ -#define CLIP_RADIUS_EXTRA 4 - struct _GtkCssValue { GTK_CSS_VALUE_BASE guint inset :1; @@ -327,7 +323,7 @@ gtk_css_shadow_value_start_drawing (const GtkCssValue *shadow, gdk_cairo_get_clip_rectangle (cr, &clip_rect); - clip_radius = radius + CLIP_RADIUS_EXTRA; + clip_radius = _gtk_cairo_blur_compute_pixels (radius); /* Create a larger surface to center the blur. */ surface = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, @@ -534,7 +530,7 @@ _gtk_css_shadow_value_paint_box (const GtkCssValue *shadow, spread = _gtk_css_number_value_get (shadow->spread, 0); radius = _gtk_css_number_value_get (shadow->radius, 0); - clip_radius = radius + CLIP_RADIUS_EXTRA; + clip_radius = _gtk_cairo_blur_compute_pixels (radius); x = _gtk_css_number_value_get (shadow->hoffset, 0); y = _gtk_css_number_value_get (shadow->voffset, 0); |