Merge remote-tracking branch 'origin/API11' into tizen_8.0
authorTizenAPI-Bot <tizenapi@samsung.com>
Wed, 27 Dec 2023 03:22:51 +0000 (03:22 +0000)
committerTizenAPI-Bot <tizenapi@samsung.com>
Wed, 27 Dec 2023 03:22:51 +0000 (03:22 +0000)
packaging/csapi-tizenfx.spec
packaging/version.txt
src/Tizen.NUI.Scene3D/src/internal/Interop/Interop.Material.cs
src/Tizen.NUI.Scene3D/src/public/ModelComponents/Material.cs
src/Tizen.NUI.Scene3D/src/public/ModelComponents/MaterialDepthIndexRanges.cs [new file with mode: 0644]
src/Tizen.NUI/src/internal/Common/ProcessorController.cs

index d23123f..77df74f 100644 (file)
@@ -1,8 +1,8 @@
 # Auto-generated from csapi-tizenfx.spec.in by makespec.sh
 
 %define TIZEN_NET_API_VERSION 11
-%define TIZEN_NET_RPM_VERSION 11.0.0.18160+nui22303
-%define TIZEN_NET_NUGET_VERSION 11.0.0.18160
+%define TIZEN_NET_RPM_VERSION 11.0.0.999+nui22304
+%define TIZEN_NET_NUGET_VERSION 11.0.0.99999
 
 %define DOTNET_ASSEMBLY_PATH /usr/share/dotnet.tizen/framework
 %define DOTNET_ASSEMBLY_DUMMY_PATH %{DOTNET_ASSEMBLY_PATH}/ref
index 0d568f1..56af33a 100755 (executable)
@@ -6,4 +6,4 @@ RPM_VERSION=11.0.0.999
 NUGET_VERSION=11.0.0.99999
 
 # RPM Version Suffix
-RPM_VERSION_SUFFIX=nui22303
+RPM_VERSION_SUFFIX=nui22304
index 2baae5d..24ae5e6 100755 (executable)
@@ -99,6 +99,9 @@ namespace Tizen.NUI.Scene3D
             [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Material_property_SPECULAR_COLOR_FACTOR_get")]
             public static extern int PropertySpecularColorFactorIndexGet();
 
+            [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Material_property_DEPTH_INDEX_get")]
+            public static extern int PropertyDepthIndexIndexGet();
+
             [global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_Material_SetProperty")]
             public static extern void SetProperty(global::System.Runtime.InteropServices.HandleRef model, int index, global::System.Runtime.InteropServices.HandleRef propertyValue);
 
index 8a5fdd4..cc26e2c 100755 (executable)
@@ -563,9 +563,49 @@ namespace Tizen.NUI.Scene3D
             }
         }
 
-
-
-
+        /// <summary>
+        /// Property to define rendering order.
+        /// </summary>
+        /// <remarks>
+        /// Depth index is used to defind rendering order. Basically,
+        /// a Renderer that has smaller depth index is rendered earlier.
+        /// In the ordinary DALI UI components has 0 as depth index by default.
+        /// (For the case of Toolkit::Control, its renderer has depth index
+        /// value between [-20, 20] as fallowing the renderer's purpose)
+        ///
+        /// In the Scene3D cases, the rendering order of each Renderer may need
+        /// to be manually defined to match scene developer's intent.
+        /// Scene3D::DepthIndex::Ranges could be used to adjust rendering order
+        /// between 3D Scene content.
+        /// Or it also could be used to manage UI component in 3D Scene independently.
+        ///
+        /// Changing the depth index only affects the rendering order, and does not
+        /// mean that objects drawn later will be drawn on top. To compute final
+        /// rendering order, whether the object is opaque or non-opaque takes precedence
+        /// over the depth index. Changing the rendering order among translucent objects
+        /// has a significant impact on the rendering results.
+        ///
+        /// The predefined depth index range is definded in <see cref="MaterialDepthIndexRange"/>.
+        /// </remarks>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public int DepthIndex
+        {
+            set
+            {
+                var temp = new Tizen.NUI.PropertyValue(value);
+                SetProperty(Interop.Material.PropertyDepthIndexIndexGet(), temp);
+                temp.Dispose();
+            }
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.PropertyValue pValue = GetProperty(Interop.Material.PropertyDepthIndexIndexGet());
+                pValue.Get(out temp);
+                pValue.Dispose();
+                return temp;
+            }
+        }
 
         /// <summary>
         /// Sets the texture of the ModelNode object for the specified texture type.
diff --git a/src/Tizen.NUI.Scene3D/src/public/ModelComponents/MaterialDepthIndexRanges.cs b/src/Tizen.NUI.Scene3D/src/public/ModelComponents/MaterialDepthIndexRanges.cs
new file mode 100644 (file)
index 0000000..a498b85
--- /dev/null
@@ -0,0 +1,52 @@
+/*
+ * Copyright(c) 2023 Samsung Electronics Co., Ltd.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+using System.ComponentModel;
+
+namespace Tizen.NUI.Scene3D
+{
+    /// <summary>
+    /// Depth index ranges to define rendering order.
+    /// </summary>
+    // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public enum MaterialDepthIndexRange
+    {
+        /// <summary>
+        /// Depth index range for 3D scene content.
+        /// </summary>
+        /// <remarks>
+        /// The range of the scene content is between [Scene, Scene + 999]
+        /// </remarks>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        Scene = -2000,
+
+        /// <summary>
+        /// Depth index range for UI scene content.
+        /// </summary>
+        /// <remarks>
+        /// The range of the UI content is between [UI, UI + 999].
+        /// Some of internally created Renderer of Toolkit::Control already has
+        /// default depth index value.
+        /// Developer can fix the default values for their design.
+        /// </remarks>
+        // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        UI = 0,
+    }
+}
index a5c4dba..494dfa4 100755 (executable)
@@ -40,8 +40,12 @@ namespace Tizen.NUI
         {
         }
 
-        private ProcessorController(bool initializeOnConstructor) : this(initializeOnConstructor ? Interop.ProcessorController.New() : Interop.ProcessorController.NewWithoutInitialize(), true)
+        private ProcessorController(bool initializeOnConstructor) : this(Interop.ProcessorController.NewWithoutInitialize(), true)
         {
+            if (initializeOnConstructor)
+            {
+                Initialize();
+            }
         }
 
         internal ProcessorController(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)