From cedd4f3d4e4d4a968db01933bd528d0981b58c4b Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 10 Jun 2020 14:37:07 -0600 Subject: [PATCH] Canvas::Arc obey fill/outline conditionals --- libs/canvas/arc.cc | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libs/canvas/arc.cc b/libs/canvas/arc.cc index 2cf403965b..6a27de58d1 100644 --- a/libs/canvas/arc.cc +++ b/libs/canvas/arc.cc @@ -70,17 +70,23 @@ Arc::compute_bounding_box () const void Arc::render (Rect const & /*area*/, Cairo::RefPtr context) const { - if (_radius <= 0.0 || _arc_degrees <= 0.0) { + if (_radius <= 0.0 || _arc_degrees <= 0.0 || (!fill() && !outline())) { return; } Duple c = item_to_window (Duple (_center.x, _center.y)); context->arc (c.x, c.y, _radius, _start_degrees * (M_PI/180.0), _arc_degrees * (M_PI/180.0)); - setup_fill_context (context); - context->fill_preserve (); - setup_outline_context (context); - context->stroke (); + + if (fill()) { + setup_fill_context (context); + context->fill_preserve (); + } + + if (outline()) { + setup_outline_context (context); + context->stroke (); + } } void