protected override void Render(ISvgRenderer renderer)
{
if ((this.Path(renderer) != null) && this.Visible && this.Displayable)
{
this.PushTransforms(renderer);
this.SetClip(renderer);
// If this element needs smoothing enabled turn anti-aliasing on
if (this.RequiresSmoothRendering)
{
renderer.SmoothingMode = SmoothingMode.AntiAlias;
}
// If text color blends with background color, text will be rendered blurry
// To avoid it, we set SourceCopy which overwrite background color
var compositingMode = renderer.CompositingMode;
renderer.CompositingMode = CompositingMode.SourceCopy;
this.RenderFill(renderer);
this.RenderStroke(renderer);
this.RenderChildren(renderer);
// Reset the smoothing mode
if (this.RequiresSmoothRendering && renderer.SmoothingMode == SmoothingMode.AntiAlias)
{
renderer.SmoothingMode = SmoothingMode.Default;
}
renderer.CompositingMode = compositingMode;
this.ResetClip(renderer);
this.PopTransforms(renderer);
}
}