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

98 lines
2.7 KiB
C#

using System.Collections.Generic;
using System.Xml.Serialization;
using System.ComponentModel;
namespace Volian.Svg.Library
{
[XmlRoot("svg")]
public partial class Svg : SvgGroup
{
private static System.Drawing.PointF _AbsoluteOffset;
public static System.Drawing.PointF AbsoluteOffset
{
get { return Svg._AbsoluteOffset; }
set { Svg._AbsoluteOffset = value; }
}
private static System.Drawing.Color _OverrrideColor = System.Drawing.Color.Empty;
public static System.Drawing.Color OverrideColor
{
get { return Svg._OverrrideColor; }
set { Svg._OverrrideColor = value; }
}
#region XML Serializer Namespaces
private XmlSerializerNamespaces _Namespaces = null;
[XmlNamespaceDeclarations]
public XmlSerializerNamespaces Namespaces
{
get
{
if (_Namespaces == null)
{
_Namespaces = new XmlSerializerNamespaces();
_Namespaces.Add("xlink", "http://www.w3.org/1999/xlink");
}
return _Namespaces;
}
set { _Namespaces = value; }
}
#endregion
#region Width
[XmlIgnore]
public SvgMeasurement Width { get; set; } = new SvgMeasurement();
[System.ComponentModel.DefaultValueAttribute("0")]
[XmlAttribute("width")]
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public string Width_XmlSurrogate
{
get { return SvgXmlConverter<SvgMeasurement>.GetString(Width); }
set { Width = SvgXmlConverter<SvgMeasurement>.GetObject(value); }
}
#endregion
#region Height
[XmlIgnore]
public SvgMeasurement Height { get; set; } = new SvgMeasurement();
[System.ComponentModel.DefaultValueAttribute("0")]
[XmlAttribute("height")]
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public string Height_XmlSurrogate
{
get { return SvgXmlConverter<SvgMeasurement>.GetString(Height); }
set { Height = SvgXmlConverter<SvgMeasurement>.GetObject(value); }
}
#endregion
#region ViewBox
[XmlIgnore]
public SvgViewBox ViewBox { get; set; } = new SvgViewBox("0 0 0 0");
[System.ComponentModel.DefaultValueAttribute("0 0 0 0")]
[XmlAttribute("viewBox")]
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
public string SVGViewBox_XmlSurrogate
{
get { return SvgXmlConverter<SvgViewBox>.GetString(ViewBox); }
set { ViewBox = SvgXmlConverter<SvgViewBox>.GetObject(value); }
}
#endregion
#region Part Lookup
private Dictionary<string, SvgPart> _LookUp;
[XmlIgnore]
internal Dictionary<string, SvgPart> LookUp
{
get
{
if (_LookUp == null)
{
_LookUp = new Dictionary<string, SvgPart>();
AddLookup(_LookUp);
}
return _LookUp;
}
}
public SvgPart this[string id]
{ get { return LookUp[id]; } }
#endregion
}
}