[NUI] Add window size/position setting into NUIApplication constructor (#328)
authordongsug-song <35130733+dongsug-song@users.noreply.github.com>
Mon, 9 Jul 2018 08:55:47 +0000 (17:55 +0900)
committerGitHub <noreply@github.com>
Mon, 9 Jul 2018 08:55:47 +0000 (17:55 +0900)
src/Tizen.NUI/src/public/NUIApplication.cs

index db76c4f..deb905e 100755 (executable)
@@ -59,6 +59,23 @@ namespace Tizen.NUI
             Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
         }
 
+        private Size2D _windowSize2D = null;
+        private Position2D _windowPosition2D = null;
+        /// <summary>
+        /// The constructor with window size and position
+        /// </summary>
+        /// <param name="windowSize">The window size</param>
+        /// <param name="windowPosition">The window position</param>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public NUIApplication(Size2D windowSize, Position2D windowPosition) : base(new NUICoreBackend())
+        {
+            Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
+            _windowSize2D = windowSize;
+            _windowPosition2D = windowPosition;
+        }
+
         /// <summary>
         /// The constructor with a stylesheet.
         /// </summary>
@@ -70,6 +87,22 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// The constructor with a stylesheet, window size and position
+        /// </summary>
+        /// <param name="styleSheet">The styleSheet url.</param>
+        /// <param name="windowSize">The window size</param>
+        /// <param name="windowPosition">The window position</param>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public NUIApplication(string styleSheet, Size2D windowSize, Position2D windowPosition) : base(new NUICoreBackend(styleSheet))
+        {
+            Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
+            _windowSize2D = windowSize;
+            _windowPosition2D = windowPosition;
+        }
+
+        /// <summary>
         /// The constructor with a stylesheet and window mode.
         /// </summary>
         /// <param name="styleSheet">The styleSheet url.</param>
@@ -81,6 +114,24 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// The constructor with a stylesheet, window mode, window size and position
+        /// </summary>
+        /// <param name="styleSheet">The styleSheet url</param>
+        /// <param name="windowMode">The windowMode</param>
+        /// <param name="windowSize">The window size</param>
+        /// <param name="windowPosition">The window position</param>
+        /// <since_tizen> 5 </since_tizen>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public NUIApplication(string styleSheet, WindowMode windowMode, Size2D windowSize, Position2D windowPosition) : base(new NUICoreBackend(styleSheet, windowMode))
+        {
+            Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
+            _windowSize2D = windowSize;
+            _windowPosition2D = windowPosition;
+        }
+
+
+        /// <summary>
         /// Overrides this method if you want to handle behavior.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -149,6 +200,14 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         protected virtual void OnPreCreate()
         {
+            if (_windowSize2D != null)
+            {
+                Window.Instance.WindowSize = _windowSize2D;
+            }
+            if (_windowPosition2D != null)
+            {
+                Window.Instance.WindowPosition = _windowPosition2D;
+            }
         }
 
         /// <summary>