80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 	using System;
 | |
| 	using System.Collections.Generic;
 | |
| 	using System.Text;
 | |
| 	using System.Drawing;
 | |
| 	using System.ComponentModel;
 | |
| 
 | |
| namespace Volian.Svg.Library
 | |
| {
 | |
| 	[TypeConverter(typeof(ViewBoxTypeConverter))]
 | |
| 	public class SvgViewBox
 | |
| 	{
 | |
| 		#region ctor
 | |
| 		public SvgViewBox() { ;}
 | |
| 		public SvgViewBox(float x, float y, float width, float height)
 | |
| 		{
 | |
| 			_MyRectangleF = new RectangleF(x, y, width, height);
 | |
| 		}
 | |
| 		public SvgViewBox(string val)
 | |
| 		{
 | |
| 			string[] parms = ((string)val).Split(' ');
 | |
| 			_MyRectangleF = new RectangleF(Convert.ToSingle(parms[0]), Convert.ToSingle(parms[1]), Convert.ToSingle(parms[2]), Convert.ToSingle(parms[3]));
 | |
| 		}
 | |
| 		#endregion
 | |
| 		#region Public Properties
 | |
| 		private RectangleF _MyRectangleF = new RectangleF();
 | |
| 		public float X
 | |
| 		{
 | |
| 			get { return _MyRectangleF.X; }
 | |
| 			set { _MyRectangleF.X = value; }
 | |
| 		}
 | |
| 		public float Y
 | |
| 		{
 | |
| 			get { return _MyRectangleF.Y; }
 | |
| 			set { _MyRectangleF.Y = value; }
 | |
| 		}
 | |
| 		public float Width
 | |
| 		{
 | |
| 			get { return _MyRectangleF.Width; }
 | |
| 			set { _MyRectangleF.Width = value; }
 | |
| 		}
 | |
| 		public float Height
 | |
| 		{
 | |
| 			get { return _MyRectangleF.Height; }
 | |
| 			set { _MyRectangleF.Height = value; }
 | |
| 		}
 | |
| 		#endregion
 | |
| 		#region ToString
 | |
| 		public override string ToString()
 | |
| 		{
 | |
| 			return string.Format("{0} {1} {2} {3}", X, Y, Width, Height);
 | |
| 		}
 | |
| 		#endregion
 | |
| 	}
 | |
| 	public class ViewBoxTypeConverter : ExpandableObjectConverter
 | |
| 	{
 | |
| 		public override bool CanConvertTo(ITypeDescriptorContext context, Type t)
 | |
| 		{
 | |
| 			return t == typeof(String);
 | |
| 		}
 | |
| 		public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destType)
 | |
| 		{
 | |
| 			if (destType == typeof(string) && value is SvgViewBox)
 | |
| 			{
 | |
| 				return value.ToString();
 | |
| 			}
 | |
| 			return base.ConvertTo(context, culture, value, destType);
 | |
| 		}
 | |
| 		public override bool CanConvertFrom(ITypeDescriptorContext context, Type t)
 | |
| 		{
 | |
| 			return t == typeof(String);
 | |
| 		}
 | |
| 		public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object val)
 | |
| 		{
 | |
| 			string[] parms = ((string)val).Split(' ');
 | |
| 			SvgViewBox viewBox = new SvgViewBox(Convert.ToSingle(parms[0]), Convert.ToSingle(parms[1]), Convert.ToSingle(parms[2]), Convert.ToSingle(parms[3]));
 | |
| 			return viewBox;
 | |
| 		}
 | |
| 	}
 | |
| }
 | 
