[NUI] Sync Xaml code to newest (#795)
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / XamlBinding / RectangleTypeConverter.cs
1 using System;
2 using System.Globalization;
3
4 using Tizen.NUI;
5
6 namespace Tizen.NUI.Binding
7 {
8     [Xaml.ProvideCompiled("Tizen.NUI.Xaml.Core.XamlC.RectangleTypeConverter")]
9     [Xaml.TypeConversion(typeof(Rectangle))]
10     internal class RectangleTypeConverter : TypeConverter
11     {
12         public override object ConvertFromInvariantString(string value)
13         {
14             if (value != null)
15             {
16                 double x, y, w, h;
17                 string[] xywh = value.Split(',');
18                 if (xywh.Length == 4 && double.TryParse(xywh[0], NumberStyles.Number, CultureInfo.InvariantCulture, out x) && double.TryParse(xywh[1], NumberStyles.Number, CultureInfo.InvariantCulture, out y) &&
19                     double.TryParse(xywh[2], NumberStyles.Number, CultureInfo.InvariantCulture, out w) && double.TryParse(xywh[3], NumberStyles.Number, CultureInfo.InvariantCulture, out h))
20                     return new Rectangle((int)x, (int)y, (int)w, (int)h);
21             }
22
23             throw new InvalidOperationException(string.Format("Cannot convert \"{0}\" into {1}", value, typeof(Rectangle)));
24         }
25     }
26 }