From 835c92e46ef834664ead63cce59addeb9108f097 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Wed, 30 May 2018 12:47:59 -0500 Subject: Replace "dominate" argument with "with_layer: bool" We only had these: dominate=-1 -> with_layer=false dominate=0 -> with_layer=true dominate=1 -> with_layer=true The 0/1 values were remnants from when we didn't do cascading with CascadedValues. --- rsvg_internals/src/clip_path.rs | 4 ++-- rsvg_internals/src/cnode.rs | 2 +- rsvg_internals/src/drawing_ctx.rs | 6 +++--- rsvg_internals/src/filters/mod.rs | 4 ++-- rsvg_internals/src/filters/offset.rs | 2 +- rsvg_internals/src/gradient.rs | 2 +- rsvg_internals/src/image.rs | 2 +- rsvg_internals/src/link.rs | 6 +++--- rsvg_internals/src/marker.rs | 4 ++-- rsvg_internals/src/mask.rs | 4 ++-- rsvg_internals/src/node.rs | 17 +++++++++-------- rsvg_internals/src/pattern.rs | 4 ++-- rsvg_internals/src/shapes.rs | 12 ++++++------ rsvg_internals/src/stop.rs | 2 +- rsvg_internals/src/structure.rs | 22 +++++++++++----------- rsvg_internals/src/text.rs | 8 ++++---- 16 files changed, 51 insertions(+), 50 deletions(-) diff --git a/rsvg_internals/src/clip_path.rs b/rsvg_internals/src/clip_path.rs index af1a0fa3..9c2a8464 100644 --- a/rsvg_internals/src/clip_path.rs +++ b/rsvg_internals/src/clip_path.rs @@ -60,7 +60,7 @@ impl NodeClipPath { let cr = drawing_ctx::get_cairo_context(draw_ctx); cr.set_matrix(child_matrix); - node.draw_children(&cascaded, draw_ctx, -1, true); + node.draw_children(&cascaded, draw_ctx, false, true); // FIXME: this is an EPIC HACK to keep the clipping context from // accumulating bounding boxes. We'll remove this later, when we @@ -92,7 +92,7 @@ impl NodeTrait for NodeClipPath { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; clip paths are handled specially } diff --git a/rsvg_internals/src/cnode.rs b/rsvg_internals/src/cnode.rs index ef1f3c59..3d013a0a 100644 --- a/rsvg_internals/src/cnode.rs +++ b/rsvg_internals/src/cnode.rs @@ -45,7 +45,7 @@ impl NodeTrait for CNode { _node: &RsvgNode, _cascaded: &CascadedValues, _draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, _clipping: bool, ) { // nothing; the only remaining cnodes are filters, and those don't draw() themselves diff --git a/rsvg_internals/src/drawing_ctx.rs b/rsvg_internals/src/drawing_ctx.rs index 9f2308da..ea87262b 100644 --- a/rsvg_internals/src/drawing_ctx.rs +++ b/rsvg_internals/src/drawing_ctx.rs @@ -485,7 +485,7 @@ pub fn draw_node_from_stack( draw_ctx: *mut RsvgDrawingCtx, cascaded: &CascadedValues, node: &RsvgNode, - dominate: i32, + with_layer: bool, clipping: bool, ) { let mut stacksave = ptr::null(); @@ -500,7 +500,7 @@ pub fn draw_node_from_stack( if should_draw { let values = cascaded.get(); if values.is_visible() { - node.draw(node, cascaded, draw_ctx, dominate, clipping); + node.draw(node, cascaded, draw_ctx, with_layer, clipping); } } @@ -521,7 +521,7 @@ pub extern "C" fn rsvg_drawing_ctx_draw_node_from_stack( let clipping: bool = from_glib(clipping); - draw_node_from_stack(draw_ctx, &node.get_cascaded_values(), node, 0, clipping); + draw_node_from_stack(draw_ctx, &node.get_cascaded_values(), node, true, clipping); } pub struct AcquiredNode(*const RsvgDrawingCtx, *mut RsvgNode); diff --git a/rsvg_internals/src/filters/mod.rs b/rsvg_internals/src/filters/mod.rs index 1e9ef232..f85f2b1a 100644 --- a/rsvg_internals/src/filters/mod.rs +++ b/rsvg_internals/src/filters/mod.rs @@ -123,7 +123,7 @@ impl NodeTrait for Primitive { } #[inline] - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // Nothing; filters are drawn in rsvg-cairo-draw.c. } @@ -223,7 +223,7 @@ impl NodeTrait for PrimitiveWithInput { } #[inline] - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // Nothing; filters are drawn in rsvg-cairo-draw.c. } diff --git a/rsvg_internals/src/filters/offset.rs b/rsvg_internals/src/filters/offset.rs index aefff82a..09b7a92c 100644 --- a/rsvg_internals/src/filters/offset.rs +++ b/rsvg_internals/src/filters/offset.rs @@ -67,7 +67,7 @@ impl NodeTrait for Offset { } #[inline] - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // Nothing; filters are drawn in rsvg-cairo-draw.c. } diff --git a/rsvg_internals/src/gradient.rs b/rsvg_internals/src/gradient.rs index 2f0fea3e..2549bcd3 100644 --- a/rsvg_internals/src/gradient.rs +++ b/rsvg_internals/src/gradient.rs @@ -706,7 +706,7 @@ impl NodeTrait for NodeGradient { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; paint servers are handled specially } diff --git a/rsvg_internals/src/image.rs b/rsvg_internals/src/image.rs index 0328b8cd..a546fb6e 100644 --- a/rsvg_internals/src/image.rs +++ b/rsvg_internals/src/image.rs @@ -109,7 +109,7 @@ impl NodeTrait for NodeImage { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); diff --git a/rsvg_internals/src/link.rs b/rsvg_internals/src/link.rs index 5cfec761..46a744f8 100644 --- a/rsvg_internals/src/link.rs +++ b/rsvg_internals/src/link.rs @@ -43,7 +43,7 @@ impl NodeTrait for NodeLink { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - dominate: i32, + with_layer: bool, clipping: bool, ) { let link = self.link.borrow(); @@ -60,7 +60,7 @@ impl NodeTrait for NodeLink { node.draw_children( &CascadedValues::new(cascaded, node), draw_ctx, - dominate, + with_layer, clipping, ) }, @@ -69,7 +69,7 @@ impl NodeTrait for NodeLink { node.draw_children( &CascadedValues::new(cascaded, node), draw_ctx, - dominate, + with_layer, clipping, ) } diff --git a/rsvg_internals/src/marker.rs b/rsvg_internals/src/marker.rs index 653daa32..6677393d 100644 --- a/rsvg_internals/src/marker.rs +++ b/rsvg_internals/src/marker.rs @@ -189,7 +189,7 @@ impl NodeMarker { } } - node.draw_children(&cascaded, draw_ctx, -1, clipping); // dominate=-1 so it won't push a layer + node.draw_children(&cascaded, draw_ctx, false, clipping); drawing_ctx::pop_discrete_layer(draw_ctx, &values, clipping); drawing_ctx::pop_view_box(draw_ctx); @@ -252,7 +252,7 @@ impl NodeTrait for NodeMarker { state.values.display = SpecifiedValue::Specified(Default::default()); } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; markers are drawn by their referencing shapes } diff --git a/rsvg_internals/src/mask.rs b/rsvg_internals/src/mask.rs index ecaaf6f6..6fe18ec3 100644 --- a/rsvg_internals/src/mask.rs +++ b/rsvg_internals/src/mask.rs @@ -132,7 +132,7 @@ impl NodeMask { drawing_ctx::push_view_box(draw_ctx, 1.0, 1.0); } - node.draw_children(&cascaded, draw_ctx, 0, false); + node.draw_children(&cascaded, draw_ctx, true, false); if content_units == CoordUnits::ObjectBoundingBox { drawing_ctx::pop_view_box(draw_ctx); @@ -218,7 +218,7 @@ impl NodeTrait for NodeMask { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; masks are handled specially } diff --git a/rsvg_internals/src/node.rs b/rsvg_internals/src/node.rs index 6d1ec2e7..0efea4e4 100644 --- a/rsvg_internals/src/node.rs +++ b/rsvg_internals/src/node.rs @@ -123,7 +123,7 @@ pub trait NodeTrait: Downcast { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - dominate: i32, + with_layer: bool, clipping: bool, ); @@ -339,7 +339,7 @@ impl Node { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - dominate: i32, + with_layer: bool, clipping: bool, ) { if self.result.borrow().is_ok() { @@ -349,7 +349,7 @@ impl Node { cr.transform(self.get_transform()); self.node_impl - .draw(node, cascaded, draw_ctx, dominate, clipping); + .draw(node, cascaded, draw_ctx, with_layer, clipping); cr.set_matrix(save_affine); } @@ -383,12 +383,12 @@ impl Node { &self, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - dominate: i32, + with_layer: bool, clipping: bool, ) { let values = cascaded.get(); - if dominate != -1 { + if with_layer { drawing_ctx::push_discrete_layer(draw_ctx as *mut RsvgDrawingCtx, values, clipping); } @@ -397,12 +397,12 @@ impl Node { draw_ctx, &CascadedValues::new(cascaded, &child), &child, - 0, + true, clipping, ); } - if dominate != -1 { + if with_layer { drawing_ctx::pop_discrete_layer(draw_ctx as *mut RsvgDrawingCtx, values, clipping); } } @@ -715,7 +715,8 @@ mod tests { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) {} + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { + } fn get_c_impl(&self) -> *const RsvgCNodeImpl { unreachable!(); diff --git a/rsvg_internals/src/pattern.rs b/rsvg_internals/src/pattern.rs index 5dfa2f74..cea3b385 100644 --- a/rsvg_internals/src/pattern.rs +++ b/rsvg_internals/src/pattern.rs @@ -230,7 +230,7 @@ impl NodeTrait for NodePattern { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; paint servers are handled specially } @@ -425,7 +425,7 @@ fn set_pattern_on_draw_context( drawing_ctx::push_discrete_layer(draw_ctx, pattern_values, false); cr_pattern.set_matrix(caffine); - pattern_node.draw_children(&pattern_cascaded, draw_ctx, -1, false); + pattern_node.draw_children(&pattern_cascaded, draw_ctx, false, false); drawing_ctx::pop_discrete_layer(draw_ctx, pattern_values, false); diff --git a/rsvg_internals/src/shapes.rs b/rsvg_internals/src/shapes.rs index e61b0ccb..c1a582d8 100644 --- a/rsvg_internals/src/shapes.rs +++ b/rsvg_internals/src/shapes.rs @@ -130,7 +130,7 @@ impl NodeTrait for NodePath { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -194,7 +194,7 @@ impl NodeTrait for NodePoly { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -266,7 +266,7 @@ impl NodeTrait for NodeLine { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -360,7 +360,7 @@ impl NodeTrait for NodeRect { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -551,7 +551,7 @@ impl NodeTrait for NodeCircle { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -621,7 +621,7 @@ impl NodeTrait for NodeEllipse { _node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); diff --git a/rsvg_internals/src/stop.rs b/rsvg_internals/src/stop.rs index 191c6c17..3079d1e3 100644 --- a/rsvg_internals/src/stop.rs +++ b/rsvg_internals/src/stop.rs @@ -70,7 +70,7 @@ impl NodeTrait for NodeStop { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing; paint servers are handled specially } diff --git a/rsvg_internals/src/structure.rs b/rsvg_internals/src/structure.rs index f8ecde6d..20df6934 100644 --- a/rsvg_internals/src/structure.rs +++ b/rsvg_internals/src/structure.rs @@ -37,10 +37,10 @@ impl NodeTrait for NodeGroup { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - dominate: i32, + with_layer: bool, clipping: bool, ) { - node.draw_children(cascaded, draw_ctx, dominate, clipping); + node.draw_children(cascaded, draw_ctx, with_layer, clipping); } fn get_c_impl(&self) -> *const RsvgCNodeImpl { @@ -62,7 +62,7 @@ impl NodeTrait for NodeDefs { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing } @@ -90,7 +90,7 @@ impl NodeTrait for NodeSwitch { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -102,7 +102,7 @@ impl NodeTrait for NodeSwitch { draw_ctx, &CascadedValues::new(cascaded, &child), &child, - 0, + true, clipping, ); } @@ -201,7 +201,7 @@ impl NodeTrait for NodeSvg { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -227,7 +227,7 @@ impl NodeTrait for NodeSvg { draw_ctx, clipping, || { - node.draw_children(cascaded, draw_ctx, -1, clipping); // dominate==-1 so it won't push a layer + node.draw_children(cascaded, draw_ctx, false, clipping); }, ); } @@ -292,7 +292,7 @@ impl NodeTrait for NodeUse { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -351,7 +351,7 @@ impl NodeTrait for NodeUse { draw_ctx, &CascadedValues::new_from_values(&child, values), &child, - 1, + true, clipping, ); @@ -379,7 +379,7 @@ impl NodeTrait for NodeUse { child.draw_children( &CascadedValues::new_from_values(&child, values), draw_ctx, - -1, + false, clipping, ); drawing_ctx::pop_discrete_layer(draw_ctx, values, clipping); @@ -431,7 +431,7 @@ impl NodeTrait for NodeSymbol { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing } diff --git a/rsvg_internals/src/text.rs b/rsvg_internals/src/text.rs index 60223eea..61bff012 100644 --- a/rsvg_internals/src/text.rs +++ b/rsvg_internals/src/text.rs @@ -116,7 +116,7 @@ impl NodeTrait for NodeChars { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing } @@ -165,7 +165,7 @@ impl NodeTrait for NodeText { node: &RsvgNode, cascaded: &CascadedValues, draw_ctx: *mut RsvgDrawingCtx, - _dominate: i32, + _with_layer: bool, clipping: bool, ) { let values = cascaded.get(); @@ -275,7 +275,7 @@ impl NodeTrait for NodeTRef { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing } @@ -395,7 +395,7 @@ impl NodeTrait for NodeTSpan { Ok(()) } - fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: i32, _: bool) { + fn draw(&self, _: &RsvgNode, _: &CascadedValues, _: *mut RsvgDrawingCtx, _: bool, _: bool) { // nothing } -- cgit v1.2.1