[librsvg: 6/10] ResolvedPrimitive.into_user_space - take the ViewParams, not the whole DrawingCtx




commit 1a80753fc4e728fcedeeaf41827ca307d342efe0
Author: Federico Mena Quintero <federico gnome org>
Date:   Wed Apr 28 17:02:50 2021 -0500

    ResolvedPrimitive.into_user_space - take the ViewParams, not the whole DrawingCtx

 src/filters/mod.rs | 19 ++++---------------
 1 file changed, 4 insertions(+), 15 deletions(-)
---
diff --git a/src/filters/mod.rs b/src/filters/mod.rs
index 3141ff59..f2944a3e 100644
--- a/src/filters/mod.rs
+++ b/src/filters/mod.rs
@@ -6,9 +6,8 @@ use std::rc::Rc;
 use std::time::Instant;
 
 use crate::bbox::BoundingBox;
-use crate::coord_units::CoordUnits;
 use crate::document::AcquiredNodes;
-use crate::drawing_ctx::DrawingCtx;
+use crate::drawing_ctx::{DrawingCtx, ViewParams};
 use crate::element::{Draw, ElementResult, SetAttributes};
 use crate::error::{ElementError, ParseError, RenderingError};
 use crate::filter::UserSpaceFilter;
@@ -179,14 +178,7 @@ impl Parse for Input {
 }
 
 impl ResolvedPrimitive {
-    fn into_user_space(
-        self,
-        primitive_units: CoordUnits,
-        values: &ComputedValues,
-        draw_ctx: &DrawingCtx,
-    ) -> UserSpacePrimitive {
-        let params = draw_ctx.push_coord_units(primitive_units);
-
+    fn into_user_space(self, values: &ComputedValues, params: &ViewParams) -> UserSpacePrimitive {
         let x = self.primitive.x.map(|l| l.normalize(values, &params));
         let y = self.primitive.y.map(|l| l.normalize(values, &params));
         let width = self.primitive.width.map(|l| l.normalize(values, &params));
@@ -305,11 +297,8 @@ pub fn extract_filter_from_filter_node(
                     e
                 })
                 .map(|primitive| {
-                    primitive.into_user_space(
-                        user_space_filter.primitive_units,
-                        primitive_values,
-                        draw_ctx,
-                    )
+                    let params = draw_ctx.push_coord_units(user_space_filter.primitive_units);
+                    primitive.into_user_space(primitive_values, &params)
                 })
         })
         .collect::<Result<Vec<UserSpacePrimitive>, FilterResolveError>>()?;


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