Files
SourceCode/PROMS/Volian.Svg.Library/SvgLinePart.cs
T

56 lines
1.7 KiB
C#

using System.Drawing;
using System.Xml.Serialization;
using System.ComponentModel;
namespace Volian.Svg.Library
{
[TypeConverter(typeof(ExpandableObjectConverter))]
public abstract class SvgLinePart : SvgPart
{
#region Line Settings
protected SvgLineSettings _MyLineSettings = new SvgLineSettings();
[System.ComponentModel.DefaultValueAttribute("")]
[XmlAttribute("stroke")]
public string Stroke
{
get { return _MyLineSettings.Stroke; }
set { _MyLineSettings.Stroke = value; }
}
[XmlIgnore]
protected Color LineColor
{
get { return Svg.OverrideColor != System.Drawing.Color.Empty ? Svg.OverrideColor : _MyLineSettings.LineColor; }
set { _MyLineSettings.LineColor = value; }
}
[XmlIgnore]
protected Color OutlineColor
{
get { return Svg.OverrideColor != System.Drawing.Color.Empty ? Svg.OverrideColor :_MyLineSettings.OutlineColor; }
set { _MyLineSettings.OutlineColor = value; }
}
[System.ComponentModel.DefaultValueAttribute("")]
[XmlAttribute("stroke-width")]
public string StrokeWidth
{
get { return _MyLineSettings.StrokeWidth; }
set { _MyLineSettings.StrokeWidth = value; }
}
[XmlIgnore]
protected SvgMeasurement LineWidth
{
get { return _MyLineSettings.LineWidth; }
set { _MyLineSettings.LineWidth = value; }
}
[XmlIgnore]
protected SvgMeasurement OutlineWidth
{
get { return _MyLineSettings.OutlineWidth; }
set { _MyLineSettings.OutlineWidth = value; }
}
#endregion
#region Setup Inheritance
override internal void SetupInheritance(SvgInheritedSettings myParentsSettings) => _MyLineSettings.MyParentsSettings = myParentsSettings.MyLineSettings;
#endregion
}
}