Let we make new API for Light class for SceneView.
Note : To avoid the changness of native side code minimalize, let we use
internal API of NUI.
Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
{
internal static partial class Libraries
{
+ public const string Lib = "libdali2-csharp-binder.so";
public const string Scene3D = "libdali2-csharp-binder-scene3d.so";
}
}
[global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_SceneView_GetImageBasedLightScaleFactor")]
public static extern float GetImageBasedLightScaleFactor(global::System.Runtime.InteropServices.HandleRef sceneView);
+ // TODO : Implement AddLight API at native SceneView in future. Currently, let we just call Actor.Add
+ [global::System.Runtime.InteropServices.DllImport(Libraries.Lib, EntryPoint = "CSharp_Dali_Actor_Add")]
+ public static extern void AddLight(global::System.Runtime.InteropServices.HandleRef sceneView, global::System.Runtime.InteropServices.HandleRef light);
+
+ // TODO : Implement RemoveLight API at native SceneView in future. Currently, let we just call Actor.Remove
+ [global::System.Runtime.InteropServices.DllImport(Libraries.Lib, EntryPoint = "CSharp_Dali_Actor_Remove")]
+ public static extern void RemoveLight(global::System.Runtime.InteropServices.HandleRef sceneView, global::System.Runtime.InteropServices.HandleRef light);
+
[global::System.Runtime.InteropServices.DllImport(Libraries.Scene3D, EntryPoint = "CSharp_Dali_SceneView_UseFramebuffer")]
public static extern void UseFramebuffer(global::System.Runtime.InteropServices.HandleRef sceneView, bool useFramebuffer);
}
/// <summary>
+ /// Add Lights to this SceneView.
+ /// </summary>
+ /// <param name="light">The light what we want to add</param>
+ // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void AddLight(Light light)
+ {
+ Interop.SceneView.AddLight(SwigCPtr, Light.getCPtr(light));
+ NDalicPINVOKE.ThrowExceptionIfExists();
+ }
+
+ /// <summary>
+ /// Remove Lights from this SceneView.
+ /// </summary>
+ /// <param name="light">The light what we want to remove</param>
+ // This will be public opened after ACR done. (Before ACR, need to be hidden as Inhouse API)
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public void RemoveLight(Light light)
+ {
+ Interop.SceneView.RemoveLight(SwigCPtr, Light.getCPtr(light));
+ NDalicPINVOKE.ThrowExceptionIfExists();
+ }
+
+ /// <summary>
/// Sets SceneView's resolution manually.
/// </summary>
/// <param name="width">The input width.</param>