using System; using System.Collections.Generic; using System.Text; 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 } }