[librsvg] gaussian_blur: shorten code



commit 2258df1a5863d284b31b19002a391338bf0b740d
Author: Paolo Borelli <pborelli gnome org>
Date:   Wed Jan 1 19:46:19 2020 +0100

    gaussian_blur: shorten code

 rsvg_internals/src/filters/gaussian_blur.rs | 20 ++++++++------------
 1 file changed, 8 insertions(+), 12 deletions(-)
---
diff --git a/rsvg_internals/src/filters/gaussian_blur.rs b/rsvg_internals/src/filters/gaussian_blur.rs
index 751e7cad..35d2692f 100644
--- a/rsvg_internals/src/filters/gaussian_blur.rs
+++ b/rsvg_internals/src/filters/gaussian_blur.rs
@@ -223,25 +223,21 @@ impl FilterEffect for FeGaussianBlur {
         // channels.
 
         // Horizontal convolution.
-        let horiz_result_surface = if std_x != 0.0 {
+        let horiz_result_surface = if std_x >= 2.0 {
             // The spec says for deviation >= 2.0 three box blurs can be used as an optimization.
-            if std_x >= 2.0 {
-                three_box_blurs::<Horizontal>(input.surface(), bounds, std_x)?
-            } else {
-                gaussian_blur(input.surface(), bounds, std_x, false)?
-            }
+            three_box_blurs::<Horizontal>(input.surface(), bounds, std_x)?
+        } else if std_x != 0.0 {
+            gaussian_blur(input.surface(), bounds, std_x, false)?
         } else {
             input.surface().clone()
         };
 
         // Vertical convolution.
-        let output_surface = if std_y != 0.0 {
+        let output_surface = if std_y >= 2.0 {
             // The spec says for deviation >= 2.0 three box blurs can be used as an optimization.
-            if std_y >= 2.0 {
-                three_box_blurs::<Vertical>(&horiz_result_surface, bounds, std_y)?
-            } else {
-                gaussian_blur(&horiz_result_surface, bounds, std_y, true)?
-            }
+            three_box_blurs::<Vertical>(&horiz_result_surface, bounds, std_y)?
+        } else if std_y != 0.0 {
+            gaussian_blur(&horiz_result_surface, bounds, std_y, true)?
         } else {
             horiz_result_surface
         };


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