2a2d06c143ac553806e8fe9bb241e59800ddd2f2
[platform/core/csapi/tizenfx.git] / src / Tizen.NUI / src / internal / XamlBinding / SizeTypeConverter.cs
1 using System;
2 using System.Linq;
3 using System.Reflection;
4 using System.Globalization;
5
6 using Tizen.NUI;
7 using Tizen.NUI.Xaml;
8
9 namespace Tizen.NUI.Binding
10 {
11     [ProvideCompiledAttribute("Tizen.NUI.Xaml.Core.XamlC.Size2DTypeConverter")]
12     internal class SizeTypeConverter : TypeConverter
13     {
14         public override object ConvertFromInvariantString(string value)
15         {
16             if (value != null)
17             {
18                 string[] parts = value.Split(',');
19                 if (parts.Length == 3)
20                 {
21                     return new Size(Single.Parse(parts[0].Trim(), CultureInfo.InvariantCulture),
22                                     Single.Parse(parts[1].Trim(), CultureInfo.InvariantCulture),
23                                     Single.Parse(parts[2].Trim(), CultureInfo.InvariantCulture));
24                 }
25             }
26
27             throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Size)}");
28         }
29     }
30
31     [ProvideCompiledAttribute("Tizen.NUI.Xaml.Core.XamlC.Size2DTypeConverter")]
32     internal class Size2DTypeConverter : TypeConverter
33     {
34         public override object ConvertFromInvariantString(string value)
35         {
36             if (value != null)
37             {
38                 string[] parts = value.Split(',');
39                 if (parts.Length == 2)
40                 {
41                     return new Size2D(Int32.Parse(parts[0].Trim(), CultureInfo.InvariantCulture),
42                                     Int32.Parse(parts[1].Trim(), CultureInfo.InvariantCulture));
43                 }
44             }
45
46             throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Size2D)}");
47         }
48     }
49 }