[gtk/matthiasc/for-master: 5/7] cssfiltervalue: Fix blur filter interpretation




commit 5527b1a1b62c12d8a3944e3a37de34689aa51c77
Author: Matthias Clasen <mclasen redhat com>
Date:   Fri Feb 5 22:06:56 2021 -0500

    cssfiltervalue: Fix blur filter interpretation
    
    According to https://www.w3.org/TR/filter-effects-1/,
    the length passed to blur() is the standard deviation,
    and according to https://www.w3.org/TR/css-backgrounds-3/#shadow-blur
    the blur radius is twice the standard deviation.

 gtk/gtkcssfiltervalue.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)
---
diff --git a/gtk/gtkcssfiltervalue.c b/gtk/gtkcssfiltervalue.c
index 758b267b89..859ea89930 100644
--- a/gtk/gtkcssfiltervalue.c
+++ b/gtk/gtkcssfiltervalue.c
@@ -939,7 +939,6 @@ gtk_css_filter_value_push_snapshot (const GtkCssValue *filter,
   graphene_matrix_t matrix;
   graphene_vec4_t offset;
   int i, j;
-  double radius;
 
   if (gtk_css_filter_value_is_none (filter))
     return;
@@ -955,8 +954,8 @@ gtk_css_filter_value_push_snapshot (const GtkCssValue *filter,
         {
           if (filter->filters[j].type == GTK_CSS_FILTER_BLUR)
             {
-              radius = _gtk_css_number_value_get (filter->filters[j].blur.value, 100.0);
-              gtk_snapshot_push_blur (snapshot, radius);
+              double std_dev = _gtk_css_number_value_get (filter->filters[j].blur.value, 100.0);
+              gtk_snapshot_push_blur (snapshot, 2 * std_dev);
             }
           else if (filter->filters[j].type == GTK_CSS_FILTER_DROP_SHADOW)
             {


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]