[NUI] Supports new window functions.
authorWonsik Jung <sidein@samsung.com>
Tue, 25 Jun 2024 07:47:44 +0000 (16:47 +0900)
committerJaehyun Cho <jaehyun0cho@gmail.com>
Tue, 2 Jul 2024 07:29:58 +0000 (16:29 +0900)
Supports new window functions.
1. Supports the modal window.
2. Supports the pin to top function.

src/Tizen.NUI/src/internal/Interop/Interop.Window.cs
src/Tizen.NUI/src/public/Window/Window.cs

index 490fa7b..22c0a8c 100755 (executable)
@@ -367,6 +367,20 @@ namespace Tizen.NUI
             [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Window_GetFullScreen")]
             [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
             public static extern bool GetFullScreen(global::System.Runtime.InteropServices.HandleRef window);
+
+            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Window_SetModal")]
+            public static extern void SetModal(global::System.Runtime.InteropServices.HandleRef window, bool modal);
+
+            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Window_IsModal")]
+            [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
+            public static extern bool IsModal(global::System.Runtime.InteropServices.HandleRef window);
+
+            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Window_SetAlwaysOnTop")]
+            public static extern void SetAlwaysOnTop(global::System.Runtime.InteropServices.HandleRef window, bool alwaysTop);
+
+            [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Window_IsAlwaysOnTop")]
+            [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
+            public static extern bool IsAlwaysOnTop(global::System.Runtime.InteropServices.HandleRef window);
         }
     }
 }
index 0107850..7da18bc 100755 (executable)
@@ -2514,5 +2514,45 @@ namespace Tizen.NUI
                 return new NUI.SafeNativeWindowHandle(this);
             }
         }
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the window is modal or not.
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool IsModal
+        {
+            get
+            {
+                bool ret = Interop.Window.IsModal(SwigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+            set
+            {
+                Interop.Window.SetModal(SwigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
+
+
+        /// <summary>
+        /// Gets or sets a value indicating whether the window is alwats on top of other windows or not.
+        /// Its behavior is effective among windows with the same notification level.
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool IsAlwaysOnTop
+        {
+            get
+            {
+                bool ret = Interop.Window.IsAlwaysOnTop(SwigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+            set
+            {
+                Interop.Window.SetAlwaysOnTop(SwigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
     }
 }