2010-03-25 19:38:51 +00:00

165 lines
4.3 KiB
C#

using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Xml.Serialization;
using System.ComponentModel;
namespace Volian.Svg.Library
{
public partial class SvgRtf : SvgShapePart
{
#region ctor
public SvgRtf() { ;}
public SvgRtf(PointF location, float width, string rtf, Font font, Color fillColor)
{
_X.Value = location.X;
_Y.Value = location.Y;
_Width.Value = width;
Rtf = rtf;
Font = font;
FillColor = fillColor;
LineColor = Color.Empty;
LineWidth = new SvgMeasurement(0);
}
#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<SvgMeasurement>.GetString(_X); }
set { _X = SvgXmlConverter<SvgMeasurement>.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<SvgMeasurement>.GetString(_Y); }
set { _Y = SvgXmlConverter<SvgMeasurement>.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<SvgMeasurement>.GetString(_Width); }
set { _Width = SvgXmlConverter<SvgMeasurement>.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<SvgMeasurement>.GetString(_Height); }
set { _Height = SvgXmlConverter<SvgMeasurement>.GetObject(value); }
}
#endregion
#region Rtf
private string _Rtf;
[XmlText()]
public string Rtf
{
get { return _Rtf; }
set { _Rtf = value; }
}
#endregion
#region Required Extensions
private string _RequiredExtensions = "http://Volian.Com/EmbeddedRTF";
[Browsable(false)]
[EditorBrowsable(EditorBrowsableState.Never)]
[XmlAttribute("requiredExtensions")]
public string RequiredExtensions
{
get { return _RequiredExtensions; }
set { _RequiredExtensions = value; }
}
#endregion
#region Font Settings
private SvgFontSettings _MyFontSettings = new SvgFontSettings();
[XmlIgnore]
public Font Font
{
get { return _MyFontSettings.Font; }
set { _MyFontSettings.Font = value; }
}
[System.ComponentModel.DefaultValueAttribute("")]
[XmlAttribute("font-family")]
public string FontFamily
{
get { return _MyFontSettings.FontFamily; }
set { _MyFontSettings.FontFamily = value; }
}
[System.ComponentModel.DefaultValueAttribute("")]
[XmlAttribute("font-size")]
public string FontSize
{
get { return _MyFontSettings.FontSize; }
set { _MyFontSettings.FontSize = value; }
}
[System.ComponentModel.DefaultValueAttribute("normal")]
[XmlAttribute("font-style")]
public string SVGFontStyle
{
get { return _MyFontSettings.SVGFontStyle; }
set { _MyFontSettings.SVGFontStyle = value; }
}
[System.ComponentModel.DefaultValueAttribute("normal")]
[XmlAttribute("font-weight")]
public string FontWeight
{
get { return _MyFontSettings.FontWeight; }
set { _MyFontSettings.FontWeight = value; }
}
[System.ComponentModel.DefaultValueAttribute("normal")]
[XmlAttribute("text-decoration")]
public string TextDecoration
{
get { return _MyFontSettings.TextDecoration; }
set { _MyFontSettings.TextDecoration = value; }
}
#endregion
#region Setup Inheritance
override internal void SetupInheritance(SvgInheritedSettings myParentsSettings)
{
base.SetupInheritance(myParentsSettings);
_MyFontSettings.MyParentsSettings = myParentsSettings.MyFontSettings;
}
#endregion
}
}