summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFederico Mena Quintero <federico@gnome.org>2022-08-23 12:24:21 -0500
committerFederico Mena Quintero <federico@gnome.org>2022-08-23 12:24:21 -0500
commit5300bb66d4901ff50b41432c7b5a8ce967613687 (patch)
tree8a44c3ab23a5e539046564dc28627f3262e85f03
parent5341853330ccab1438b32b59edaf856dfe81a1b2 (diff)
downloadlibrsvg-5300bb66d4901ff50b41432c7b5a8ce967613687.tar.gz
layout.rs: Use a session for logging
This involves passing a Session down to StackingContext::new() Part-of: <https://gitlab.gnome.org/GNOME/librsvg/-/merge_requests/731>
-rw-r--r--src/drawing_ctx.rs20
-rw-r--r--src/image.rs8
-rw-r--r--src/layout.rs11
-rw-r--r--src/marker.rs3
-rw-r--r--src/shapes.rs9
-rw-r--r--src/structure.rs25
-rw-r--r--src/text.rs8
7 files changed, 69 insertions, 15 deletions
diff --git a/src/drawing_ctx.rs b/src/drawing_ctx.rs
index 9193d142..0342cfb5 100644
--- a/src/drawing_ctx.rs
+++ b/src/drawing_ctx.rs
@@ -654,8 +654,13 @@ impl DrawingCtx {
let mut mask_draw_ctx = self.nested(mask_cr);
- let stacking_ctx =
- StackingContext::new(acquired_nodes, &mask_element, Transform::identity(), values);
+ let stacking_ctx = StackingContext::new(
+ self.session(),
+ acquired_nodes,
+ &mask_element,
+ Transform::identity(),
+ values,
+ );
let res = mask_draw_ctx.with_discrete_layer(
&stacking_ctx,
@@ -1111,6 +1116,7 @@ impl DrawingCtx {
let elt = pattern_node.borrow_element();
let stacking_ctx = StackingContext::new(
+ self.session(),
acquired_nodes,
&elt,
Transform::identity(),
@@ -1694,8 +1700,13 @@ impl DrawingCtx {
None
};
- let stacking_ctx =
- StackingContext::new(acquired_nodes, &use_element, Transform::identity(), values);
+ let stacking_ctx = StackingContext::new(
+ self.session(),
+ acquired_nodes,
+ &use_element,
+ Transform::identity(),
+ values,
+ );
self.with_discrete_layer(
&stacking_ctx,
@@ -1728,6 +1739,7 @@ impl DrawingCtx {
// otherwise the referenced node is not a <symbol>; process it generically
let stacking_ctx = StackingContext::new(
+ self.session(),
acquired_nodes,
&use_element,
Transform::new_translate(use_rect.x0, use_rect.y0),
diff --git a/src/image.rs b/src/image.rs
index b825ef34..a8c3ab93 100644
--- a/src/image.rs
+++ b/src/image.rs
@@ -97,7 +97,13 @@ impl Draw for Image {
};
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.draw_image(&image, &stacking_ctx, acquired_nodes, values, clipping)
}
diff --git a/src/layout.rs b/src/layout.rs
index f68eb1cf..c67164a4 100644
--- a/src/layout.rs
+++ b/src/layout.rs
@@ -21,6 +21,7 @@ use crate::properties::{
TextDecoration, TextRendering, UnicodeBidi, XmlLang,
};
use crate::rect::Rect;
+use crate::session::Session;
use crate::surface_utils::shared_surface::SharedImageSurface;
use crate::transform::Transform;
use crate::unit_interval::UnitInterval;
@@ -137,6 +138,7 @@ pub struct FontProperties {
impl StackingContext {
pub fn new(
+ session: &Session,
acquired_nodes: &mut AcquiredNodes<'_>,
element: &Element,
transform: Transform,
@@ -189,7 +191,8 @@ impl StackingContext {
Element::Mask(_) => Some(node.clone()),
_ => {
- rsvg_log!(
+ rsvg_log_session!(
+ session,
"element {} references \"{}\" which is not a mask",
element,
mask_id
@@ -199,7 +202,8 @@ impl StackingContext {
}
}
} else {
- rsvg_log!(
+ rsvg_log_session!(
+ session,
"element {} references nonexistent mask \"{}\"",
element,
mask_id
@@ -227,13 +231,14 @@ impl StackingContext {
}
pub fn new_with_link(
+ session: &Session,
acquired_nodes: &mut AcquiredNodes<'_>,
element: &Element,
transform: Transform,
values: &ComputedValues,
link_target: Option<String>,
) -> StackingContext {
- let mut ctx = Self::new(acquired_nodes, element, transform, values);
+ let mut ctx = Self::new(session, acquired_nodes, element, transform, values);
ctx.link_target = link_target;
ctx
}
diff --git a/src/marker.rs b/src/marker.rs
index 5acab183..87c0135f 100644
--- a/src/marker.rs
+++ b/src/marker.rs
@@ -184,7 +184,8 @@ impl Marker {
};
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, transform, values);
+ let stacking_ctx =
+ StackingContext::new(draw_ctx.session(), acquired_nodes, &elt, transform, values);
draw_ctx.with_discrete_layer(
&stacking_ctx,
diff --git a/src/shapes.rs b/src/shapes.rs
index b617da9e..d7a161b4 100644
--- a/src/shapes.rs
+++ b/src/shapes.rs
@@ -138,8 +138,13 @@ macro_rules! impl_draw {
};
let elt = node.borrow_element();
- let stacking_ctx =
- StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.draw_shape(
&view_params,
diff --git a/src/structure.rs b/src/structure.rs
index 8fb48c1b..da045728 100644
--- a/src/structure.rs
+++ b/src/structure.rs
@@ -36,7 +36,13 @@ impl Draw for Group {
let values = cascaded.get();
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.with_discrete_layer(
&stacking_ctx,
@@ -77,7 +83,13 @@ impl Draw for Switch {
let values = cascaded.get();
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.with_discrete_layer(
&stacking_ctx,
@@ -279,7 +291,13 @@ impl Draw for Svg {
let values = cascaded.get();
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.with_discrete_layer(
&stacking_ctx,
@@ -575,6 +593,7 @@ impl Draw for Link {
};
let stacking_ctx = StackingContext::new_with_link(
+ draw_ctx.session(),
acquired_nodes,
&elt,
values.transform(),
diff --git a/src/text.rs b/src/text.rs
index b4f77e3b..dc4f65e7 100644
--- a/src/text.rs
+++ b/src/text.rs
@@ -762,7 +762,13 @@ impl Draw for Text {
let elt = node.borrow_element();
- let stacking_ctx = StackingContext::new(acquired_nodes, &elt, values.transform(), values);
+ let stacking_ctx = StackingContext::new(
+ draw_ctx.session(),
+ acquired_nodes,
+ &elt,
+ values.transform(),
+ values,
+ );
draw_ctx.with_discrete_layer(
&stacking_ctx,