using System; using System.ComponentModel; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Drawing2D; namespace Svg { /// /// Represents the base class for all paint servers that are intended to be used as a fill or stroke. /// [TypeConverter(typeof(SvgPaintServerFactory))] public abstract class SvgPaintServer : SvgElement { public Func GetCallback { get; set; } /// /// An unspecified . /// public static readonly SvgPaintServer None = new SvgColourServer(); /// /// Initializes a new instance of the class. /// public SvgPaintServer() { } /// /// Renders the and contents to the specified object. /// /// The object to render to. protected override void Render(ISvgRenderer renderer) { // Never render paint servers or their children } /// /// Gets a representing the current paint server. /// /// The owner . /// The opacity of the brush. public abstract Brush GetBrush(SvgVisualElement styleOwner, ISvgRenderer renderer, float opacity, bool forStroke = false); /// /// Returns a that represents the current . /// /// /// A that represents the current . /// public override string ToString() { return String.Format("url(#{0})", this.ID); } } }