[librsvg: 16/90] Pass the current bbox as immutable to the masking code
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 16/90] Pass the current bbox as immutable to the masking code
- Date: Tue, 26 Mar 2019 19:13:24 +0000 (UTC)
commit 425a521a4c0e8dd75b347877dfd5d73db824b2d4
Author: Federico Mena Quintero <federico gnome org>
Date: Mon Mar 11 13:54:24 2019 -0600
Pass the current bbox as immutable to the masking code
rsvg_internals/src/drawing_ctx.rs | 3 ++-
rsvg_internals/src/mask.rs | 4 +++-
2 files changed, 5 insertions(+), 2 deletions(-)
---
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
index 25906995..fd7b317d 100644
--- a/rsvg_internals/src/drawing_ctx.rs
+++ b/rsvg_internals/src/drawing_ctx.rs
@@ -500,7 +500,8 @@ impl DrawingCtx {
res = res.and_then(|_| {
node.with_impl(|mask: &NodeMask| {
- mask.generate_cairo_mask(&node, &affine, self)
+ let bbox = self.bbox;
+ mask.generate_cairo_mask(&node, &affine, self, &bbox)
})
});
} else {
diff --git a/rsvg_internals/src/mask.rs b/rsvg_internals/src/mask.rs
index 08ac4819..502e2125 100644
--- a/rsvg_internals/src/mask.rs
+++ b/rsvg_internals/src/mask.rs
@@ -2,6 +2,7 @@ use cairo::{self, MatrixTrait};
use std::cell::Cell;
use crate::attributes::Attribute;
+use crate::bbox::BoundingBox;
use crate::coord_units::CoordUnits;
use crate::drawing_ctx::DrawingCtx;
use crate::error::RenderingError;
@@ -52,6 +53,7 @@ impl NodeMask {
node: &RsvgNode,
affine_before_mask: &cairo::Matrix,
draw_ctx: &mut DrawingCtx,
+ bbox: &BoundingBox,
) -> Result<(), RenderingError> {
let cascaded = node.get_cascaded_values();
let values = cascaded.get();
@@ -80,7 +82,7 @@ impl NodeMask {
// reference to the surface before we access the pixels
{
let bbox_rect = {
- if let Some(ref rect) = draw_ctx.get_bbox().rect {
+ if let Some(ref rect) = bbox.rect {
*rect
} else {
// The node being masked is empty / doesn't have a
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]