From cd3dc55e54a5a29628982ac6aae19249e9bb5af5 Mon Sep 17 00:00:00 2001 From: Nelson Carrillo Date: Sun, 26 Jul 2015 00:16:01 -0400 Subject: [PATCH] Fixes RadioButton rendering Fixes CheckBox glyph rendering --- Cairo/Perspex.Cairo/Media/DrawingContext.cs | 24 +++++++-------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/Cairo/Perspex.Cairo/Media/DrawingContext.cs b/Cairo/Perspex.Cairo/Media/DrawingContext.cs index 72cf0c0340..f3ae901fb1 100644 --- a/Cairo/Perspex.Cairo/Media/DrawingContext.cs +++ b/Cairo/Perspex.Cairo/Media/DrawingContext.cs @@ -118,27 +118,17 @@ namespace Perspex.Cairo.Media { var impl = geometry.PlatformImpl as StreamGeometryImpl; var clone = new Queue(impl.Operations); - - bool useFill = false; - this.SetPen(pen); - this.SetBrush(brush); - using (var pop = this.PushTransform(impl.Transform)) { while (clone.Count > 0) { - var current = clone.Dequeue(); if (current is BeginOp) { var bo = current as BeginOp; this.context.MoveTo(bo.Point.ToCairo()); - - useFill = bo.IsFilled; - - System.Diagnostics.Debug.WriteLine("Start"); } else if (current is LineToOp) { @@ -149,8 +139,6 @@ namespace Perspex.Cairo.Media { if (((EndOp)current).IsClosed) this.context.ClosePath(); - - System.Diagnostics.Debug.WriteLine("End"); } else if (current is CurveToOp) { @@ -159,13 +147,17 @@ namespace Perspex.Cairo.Media } } - if (useFill) + if (brush != null) { - this.context.FillPreserve(); + this.SetBrush(brush); + this.context.Fill(); } - else + + + if (pen != null) { - this.context.StrokePreserve(); + this.SetPen(pen); + this.context.Stroke(); } } }