[NUI] Fix Position type converter error when Position get 2 parameters in XAML (...
authorXianbing Teng <xb.teng@samsung.com>
Wed, 8 Jul 2020 02:31:27 +0000 (10:31 +0800)
committerGitHub <noreply@github.com>
Wed, 8 Jul 2020 02:31:27 +0000 (11:31 +0900)
* Fix Position type converter error when Position get 2 parameters in XAML

* [NUI] Fix Size type converter error

* [NUI] Change Position and Size gets float typed parameters

Co-authored-by: Xianbing Teng <reformed_beginner@outlook.com>
src/Tizen.NUI/src/internal/XamlBinding/PositionTypeConverter.cs
src/Tizen.NUI/src/public/XamlBinding/SizeTypeConverter.cs

index f059ae49c65f9e31f52f068526975b9dfc178fef..50c3a7e32b2e65a30ca0b5670311682ced15fb52 100755 (executable)
@@ -54,11 +54,17 @@ namespace Tizen.NUI.Binding
                 parts = value.Split(',');
                 if (parts.Length == 3)
                 {
-                    int x = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
-                    int y = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
-                    int z = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[2].Trim());
+                    float x = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
+                    float y = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
+                    float z = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[2].Trim());
                     return new Position(x, y, z);
                 }
+                else if (parts.Length == 2)
+                {
+                    float x = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
+                    float y = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
+                    return new Position(x, y);
+                }
             }
 
             throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position)}");
index 68a2db0c4148695e72835f31d6bc6a7f4049b012..051aadc74fa65ae0c28be80e3e01245127f78c97 100755 (executable)
@@ -23,11 +23,17 @@ namespace Tizen.NUI.Binding
                 string[] parts = value.Split(',');
                 if (parts.Length == 3)
                 {
-                    int x = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
-                    int y = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
-                    int z = (int)GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[2].Trim());
+                    float x = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
+                    float y = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
+                    float z = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[2].Trim());
                     return new Size(x, y, z);
                 }
+                else if (parts.Length == 2)
+                {
+                    float x = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[0].Trim());
+                    float y = GraphicsTypeManager.Instance.ConvertScriptToPixel(parts[1].Trim());
+                    return new Size(x, y);
+                }
             }
 
             throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Size)}");