using System; using System.Collections.Generic; using System.Text; using System.Xml.Serialization; using System.ComponentModel; using System.Drawing; namespace Volian.Svg.Library { public partial class SvgUse : SvgPartInheritance { #region ctor public SvgUse() { ;} public SvgUse(PointF location, SizeF size, string id) { _X.Value = location.X; _Y.Value = location.Y; _Width.Value = size.Width; _Height.Value = size.Height; _ID = id; } #endregion #region Location private SvgMeasurement _X = new SvgMeasurement(); [XmlIgnore] public SvgMeasurement X { get { return _X; } set { _X = value; } } [XmlAttribute("x")] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public string X_XmlSurrogate { get { return SvgXmlConverter.GetString(_X); } set { _X = SvgXmlConverter.GetObject(value); } } private SvgMeasurement _Y = new SvgMeasurement(); [XmlIgnore] public SvgMeasurement Y { get { return _Y; } set { _Y = value; } } [XmlAttribute("y")] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public string Y_XmlSurrogate { get { return SvgXmlConverter.GetString(_Y); } set { _Y = SvgXmlConverter.GetObject(value); } } #endregion #region Size private SvgMeasurement _Width = new SvgMeasurement(); [XmlIgnore] public SvgMeasurement Width { get { return _Width; } set { _Width = value; } } [XmlAttribute("width")] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public string Width_WidthmlSurrogate { get { return SvgXmlConverter.GetString(_Width); } set { _Width = SvgXmlConverter.GetObject(value); } } private SvgMeasurement _Height = new SvgMeasurement(); [XmlIgnore] public SvgMeasurement Height { get { return _Height; } set { _Height = value; } } [XmlAttribute("height")] [Browsable(false)] [EditorBrowsable(EditorBrowsableState.Never)] public string Height_XmlSurrogate { get { return SvgXmlConverter.GetString(_Height); } set { _Height = SvgXmlConverter.GetObject(value); } } #endregion #region ID to be used private string _UseID = null; [XmlAttribute(AttributeName = "href", Namespace = "http://www.w3.org/1999/xlink")] public string UseID { get { return _UseID; } set { _UseID = value; } } #endregion #region Setup Inheritance override internal void SetupInheritance(SvgInheritedSettings myParentsSettings) { _MyInheritedSettings.MyParentsSettings = myParentsSettings; } #endregion public override string ToString() { return string.Format("({0}, {1}) Template '{2}'", this.X, this.Y, this.UseID); } } }