[librsvg: 42/90] NodeClipPath.to_cairo_context(): Don't take an affine; use the cr's
- From: Federico Mena Quintero <federico src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librsvg: 42/90] NodeClipPath.to_cairo_context(): Don't take an affine; use the cr's
- Date: Tue, 26 Mar 2019 19:15:35 +0000 (UTC)
commit c4694418db3f4e77bbc813a04e8e17b7ed562210
Author: Federico Mena Quintero <federico gnome org>
Date: Thu Mar 14 18:49:08 2019 -0600
NodeClipPath.to_cairo_context(): Don't take an affine; use the cr's
rsvg_internals/src/clip_path.rs | 2 --
rsvg_internals/src/drawing_ctx.rs | 10 +++++-----
2 files changed, 5 insertions(+), 7 deletions(-)
---
diff --git a/rsvg_internals/src/clip_path.rs b/rsvg_internals/src/clip_path.rs
index fa0e2310..1c5e6669 100644
--- a/rsvg_internals/src/clip_path.rs
+++ b/rsvg_internals/src/clip_path.rs
@@ -31,7 +31,6 @@ impl NodeClipPath {
pub fn to_cairo_context(
&self,
node: &RsvgNode,
- affine_before_clip: &cairo::Matrix,
draw_ctx: &mut DrawingCtx,
bbox: &BoundingBox,
) -> Result<(), RenderingError> {
@@ -41,7 +40,6 @@ impl NodeClipPath {
draw_ctx.with_saved_matrix(&mut |dc| {
let cr = dc.get_cairo_context();
- cr.set_matrix(*affine_before_clip);
if clip_units == ClipPathUnits(CoordUnits::ObjectBoundingBox) {
if bbox.rect.is_none() {
diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs
index 4e3d6e27..b2d42ecf 100644
--- a/rsvg_internals/src/drawing_ctx.rs
+++ b/rsvg_internals/src/drawing_ctx.rs
@@ -404,14 +404,13 @@ impl DrawingCtx {
fn clip_to_node(
&mut self,
- affine: &cairo::Matrix,
clip_node: Option<RsvgNode>,
) -> Result<(), RenderingError> {
if let Some(clip_node) = clip_node {
let orig_bbox = self.bbox;
let res = clip_node.with_impl(|clip_path: &NodeClipPath| {
- clip_path.to_cairo_context(&clip_node, affine, self, &orig_bbox)
+ clip_path.to_cairo_context(&clip_node, self, &orig_bbox)
});
// FIXME: this is an EPIC HACK to keep the clipping context from
@@ -455,7 +454,7 @@ impl DrawingCtx {
let (clip_in_user_space, clip_in_object_space) =
dc.get_clip_in_user_and_object_space(clip_uri);
- dc.clip_to_node(&affine, clip_in_user_space)?;
+ dc.clip_to_node(clip_in_user_space)?;
let needs_temporary_surface = !(opacity == 1.0
&& filter.is_none()
@@ -475,7 +474,7 @@ impl DrawingCtx {
cr.set_matrix(affine);
dc.cr_stack.push(dc.cr.clone());
- dc.cr = cr.clone();
+ dc.cr = cr;
let prev_bbox = dc.bbox;
dc.bbox = BoundingBox::new(&affine);
@@ -498,7 +497,8 @@ impl DrawingCtx {
dc.cr.identity_matrix();
dc.cr.set_source_surface(&source_surface, 0.0, 0.0);
- dc.clip_to_node(&affine, clip_in_object_space)?;
+ dc.cr.set_matrix(affine);
+ dc.clip_to_node(clip_in_object_space)?;
if let Some(mask) = mask {
if let Some(acquired) =
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]