[NUI] Add Exclusive Option for Capture
authorSeungho Baek <sbsh.baek@samsung.com>
Mon, 29 Jul 2024 06:34:48 +0000 (15:34 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Wed, 7 Aug 2024 07:02:39 +0000 (16:02 +0900)
Signed-off-by: Seungho Baek <sbsh.baek@samsung.com>
src/Tizen.NUI/src/internal/Interop/Interop.Capture.cs
src/Tizen.NUI/src/public/Utility/Capture.cs

index 180827d..16bcddd 100644 (file)
@@ -46,6 +46,13 @@ namespace Tizen.NUI
             [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Capture_SetImageQuality")]
             public static extern void SetImageQuality(HandleRef capture, uint quality);
 
+            [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Capture_SetExclusive")]
+            public static extern void SetExclusive(HandleRef capture, bool exclusive);
+
+            [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Capture_IsExclusive")]
+            [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
+            public static extern bool IsExclusive(HandleRef capture);
+
             [DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_Capture_Signal_Empty")]
             [return: global::System.Runtime.InteropServices.MarshalAs(global::System.Runtime.InteropServices.UnmanagedType.U1)]
             public static extern bool SignalEmpty(HandleRef jarg1);
index 885da7e..5208986 100755 (executable)
@@ -65,6 +65,19 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Gets or sets whether this capture source can be rendered on Screen or not.
+        /// If it is true, the source is not rendered on screen but it will be captured.
+        /// If it is false, the source is rendered on both of screen and captured result.
+        /// Default value is false.
+        /// </summary>
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool IsExclusive
+        {
+            get => Interop.Capture.IsExclusive(SwigCPtr);
+            set => Interop.Capture.SetExclusive(SwigCPtr, value);
+        }
+
+        /// <summary>
         /// Dispose
         /// </summary>
         /// <param name="type"></param>