[librsvg: 8/17] Pass the primitive_units to Primitive.to_user_space(), not the whole filter_ctx
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 8/17] Pass the primitive_units to Primitive.to_user_space(), not the whole filter_ctx
- Date: Sat, 17 Apr 2021 01:46:05 +0000 (UTC)
commit 2ae14510fceee56e7eb27f48cbde8956cc0e6888
Author: Federico Mena Quintero <federico gnome org>
Date: Fri Apr 16 18:18:11 2021 -0500
Pass the primitive_units to Primitive.to_user_space(), not the whole filter_ctx
src/filters/mod.rs | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/filters/mod.rs b/src/filters/mod.rs
index edf9abba..edd641f9 100644
--- a/src/filters/mod.rs
+++ b/src/filters/mod.rs
@@ -5,6 +5,7 @@ use markup5ever::{expanded_name, local_name, namespace_url, ns};
use std::time::Instant;
use crate::bbox::BoundingBox;
+use crate::coord_units::CoordUnits;
use crate::document::AcquiredNodes;
use crate::drawing_ctx::DrawingCtx;
use crate::element::{Draw, ElementResult, SetAttributes};
@@ -161,11 +162,11 @@ impl Parse for Input {
impl Primitive {
fn to_user_space(
&self,
- ctx: &FilterContext,
+ primitive_units: CoordUnits,
values: &ComputedValues,
draw_ctx: &DrawingCtx,
) -> UserSpacePrimitive {
- let params = draw_ctx.push_coord_units(ctx.primitive_units());
+ let params = draw_ctx.push_coord_units(primitive_units);
let x = self.x.map(|l| l.normalize(values, ¶ms));
let y = self.y.map(|l| l.normalize(values, ¶ms));
@@ -299,8 +300,11 @@ pub fn render(
if let Err(err) = effect
.resolve(&primitive_node)
.and_then(|(primitive, params)| {
- let user_space_primitive =
- primitive.to_user_space(&filter_ctx, primitive_values, draw_ctx);
+ let user_space_primitive = primitive.to_user_space(
+ resolved_filter.primitive_units,
+ primitive_values,
+ draw_ctx,
+ );
let output = render_primitive(
&user_space_primitive,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]