<TargetFramework>netstandard1.6</TargetFramework>\r
<DefineConstants>$(DefineConstants);DEBUG_ON;DOT_NET_CORE</DefineConstants>\r
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>\r
- <SignAssembly>False</SignAssembly>\r
+ <SignAssembly>true</SignAssembly>\r
<AssemblyOriginatorKeyFile>TizenTVNUI.snk</AssemblyOriginatorKeyFile>\r
<PublicSign Condition="'$(OS)' != 'Windows_NT'">true</PublicSign>\r
</PropertyGroup>\r
/// <param name="url">The url of the image resource to display</param>
public ImageView(string url) : this(NDalicPINVOKE.ImageView_New__SWIG_2(url), true)
{
+ _url = url;
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
internal ImageView(string url, Uint16Pair size) : this(NDalicPINVOKE.ImageView_New__SWIG_3(url, Uint16Pair.getCPtr(size)), true)
{
+ _url = url;
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <param name="url">The URL to the image resource to display</param>
public void SetImage(string url)
{
+ _url = url;
NDalicPINVOKE.ImageView_SetImage__SWIG_1(swigCPtr, url);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
internal void SetImage(string url, Uint16Pair size)
{
+ _url = url;
NDalicPINVOKE.ImageView_SetImage__SWIG_2(swigCPtr, url, Uint16Pair.getCPtr(size));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
//You should not access any managed member here except static instance.
//because the execution order of Finalizes is non-deterministic.
+ DisConnectFromSignals();
+
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Scrollable(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+
+ base.Dispose(type);
+ }
+
+ private void DisConnectFromSignals()
+ {
+ // Save current CPtr.
+ global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+ // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+ swigCPtr = GetBaseHandleCPtrHandleRef;
+
if (_scrollableCompletedCallbackDelegate != null)
{
this.ScrollCompletedSignal().Disconnect(_scrollableCompletedCallbackDelegate);
this.ScrollStartedSignal().Disconnect(_scrollableStartedCallbackDelegate);
}
- if (swigCPtr.Handle != global::System.IntPtr.Zero)
- {
- if (swigCMemOwn)
- {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Scrollable(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
-
- base.Dispose(type);
+ // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+ // Restore current CPtr.
+ swigCPtr = currentCPtr;
}
public class StartedEventArgs : EventArgs
{
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
internal View(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.View_SWIGUpcast(cPtr), cMemoryOwn)
{
swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ Children.Add(child);
}
/// <summary>
NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ Children.Remove(child);
}
/// <summary>
/// </seealso>
public override View GetChildAt(uint index)
{
- IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
-
- View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret ?? null;
+ if (index < Children.Count)
+ {
+ return Children[Convert.ToInt32(index)];
+ }
+ else
+ {
+ return null;
+ }
}
/// <summary>
/// </seealso>
protected override uint GetChildCount()
{
- uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+ return Convert.ToUInt32(Children.Count);
}
/// <summary>
protected override Container GetParent()
{
- Container ret;
IntPtr cPtr = NDalicPINVOKE.Actor_GetParent(swigCPtr);
BaseHandle basehandle = Registry.GetManagedBaseHandleFromNativePtr(cPtr);
- if(basehandle is Layer)
- {
- ret = basehandle as Layer;
- }
- else
- {
- ret = basehandle as View;
- }
-
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+
+ return basehandle as Container;
}
///
//You should not access any managed member here except static instance.
//because the execution order of Finalizes is non-deterministic.
+ DisConnectFromSignals();
+
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_View(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+
+ base.Dispose(type);
+
+ // Dispose all Children of this View.
+ foreach (View childView in Children)
+ {
+ childView?.Dispose();
+ }
+ Children.Clear();
+ }
+
+ private void DisConnectFromSignals()
+ {
+ // Save current CPtr.
+ global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+ // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+ swigCPtr = GetBaseHandleCPtrHandleRef;
+
if (_onRelayoutEventCallback != null)
{
this.OnRelayoutSignal().Disconnect(_onRelayoutEventCallback);
this.KeyInputFocusGainedSignal().Disconnect(_keyInputFocusGainedCallback);
}
- if (swigCPtr.Handle != global::System.IntPtr.Zero)
- {
- if (swigCMemOwn)
- {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_View(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
-
- base.Dispose(type);
+ // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+ // Restore current CPtr.
+ swigCPtr = currentCPtr;
}
private EventHandler _keyInputFocusGainedEventHandler;
{
KeyEventArgs e = new KeyEventArgs();
+ bool result = false;
+
e.Key = Tizen.NUI.Key.GetKeyFromPtr(keyEvent);
if (_keyEventHandler != null)
{
- return _keyEventHandler(this, e);
+ Delegate[] delegateList = _keyEventHandler.GetInvocationList();
+
+ // Oring the result of each callback.
+ foreach ( EventHandlerWithReturnType<object, KeyEventArgs, bool> del in delegateList )
+ {
+ result |= del( this, e );
+ }
}
- return false;
- }
+ return result;
+ }
private EventHandler _onRelayoutEventHandler;
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal void Raise()
{
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ int currentIndex = parentChildren.IndexOf(this);
+
+ // If the view is not already the last item in the list.
+ if (currentIndex != parentChildren.Count -1)
+ {
+ View temp = parentChildren[currentIndex + 1];
+ parentChildren[currentIndex + 1] = this;
+ parentChildren[currentIndex] = temp;
+ }
+ }
+
NDalicPINVOKE.Raise(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
internal void Lower()
{
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ int currentIndex = parentChildren.IndexOf(this);
+
+ // If the view is not already the first item in the list.
+ if (currentIndex > 0)
+ {
+ View temp = parentChildren[currentIndex - 1];
+ parentChildren[currentIndex - 1] = this;
+ parentChildren[currentIndex] = temp;
+ }
+ }
+
NDalicPINVOKE.Lower(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// </remarks>
public void RaiseToTop()
{
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ parentChildren.Remove(this);
+ parentChildren.Add(this);
+ }
+
NDalicPINVOKE.RaiseToTop(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// </remarks>
public void LowerToBottom()
{
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ parentChildren.Remove(this);
+ parentChildren.Insert(0, this);
+ }
+
NDalicPINVOKE.LowerToBottom(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <param name="target">Will be raised above this view</param>
internal void RaiseAbove(View target)
{
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ int currentIndex = parentChildren.IndexOf(this);
+ int targetIndex = parentChildren.IndexOf(target);
+
+ // If the currentIndex is less than the target index and the target has the same parent.
+ if (currentIndex < targetIndex)
+ {
+ parentChildren.Remove(this);
+ parentChildren.Insert(targetIndex, this);
+ }
+ }
+
NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
/// <param name="target">Will be lowered below this view</param>
internal void LowerBelow(View target)
{
- NDalicPINVOKE.RaiseAbove(swigCPtr, View.getCPtr(target));
+ var parentChildren = Parent?.Children;
+
+ if (parentChildren != null)
+ {
+ int currentIndex = parentChildren.IndexOf(this);
+ int targetIndex = parentChildren.IndexOf(target);
+
+ // If the currentIndex is not already the 0th index and the target has the same parent.
+ if ((currentIndex != 0) && (targetIndex != -1) &&
+ (currentIndex > targetIndex))
+ {
+ parentChildren.Remove(this);
+ parentChildren.Insert(targetIndex, this);
+ }
+ }
+
+ NDalicPINVOKE.LowerBelow(swigCPtr, View.getCPtr(target));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <pre>The (child) View has been initialized. </pre>
public void Unparent()
{
- NDalicPINVOKE.Actor_Unparent(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ GetParent()?.Remove(this);
}
/// <summary>
public bool HasBody()
{
+ if (disposed == true)
+ {
+ return false;
+ }
+
bool ret = NDalicPINVOKE.BaseHandle_HasBody(swigCPtr);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
public bool IsEqual(BaseHandle rhs)
{
+ if (disposed == true)
+ {
+ return false;
+ }
+
bool ret = NDalicPINVOKE.BaseHandle_IsEqual(swigCPtr, BaseHandle.getCPtr(rhs));
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
return ret;
}
+ internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+ {
+ get
+ {
+ return swigCPtr;
+ }
+ }
+
}
}
/// <returns>A Color containing the result of the addition</returns>
public static Color operator +(Color arg1, Color arg2)
{
- return arg1.Add(arg2);
+ Color result = arg1.Add(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containing the result of the subtraction</returns>
public static Color operator -(Color arg1, Color arg2)
{
- return arg1.Subtract(arg2);
+ Color result = arg1.Subtract(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containg the negation</returns>
public static Color operator -(Color arg1)
{
- return arg1.Subtract();
+ Color result = arg1.Subtract();
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containing the result of the multiplication</returns>
public static Color operator *(Color arg1, Color arg2)
{
- return arg1.Multiply(arg2);
+ Color result = arg1.Multiply(arg2);
+ ValueCheck(result);
+ return result;
}
public static Color operator*(Color arg1, float arg2)
{
- return arg1.Multiply(arg2);
+ Color result = arg1.Multiply(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <returns>A Color containing the result of the division</returns>
public static Color operator /(Color arg1, Color arg2)
{
- return arg1.Divide(arg2);
+ Color result = arg1.Divide(arg2);
+ ValueCheck(result);
+ return result;
}
public static Color operator/(Color arg1, float arg2)
{
- return arg1.Divide(arg2);
+ Color result = arg1.Divide(arg2);
+ ValueCheck(result);
+ return result;
}
/// <summary>
/// <param name="a">alpha component</param>
public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(r, g, b, a), true)
{
+ ValueCheck(ref r);
+ ValueCheck(ref g);
+ ValueCheck(ref b);
+ ValueCheck(ref a);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
/// <param name="array">array Array of R,G,B,A</param>
public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(array), true)
{
+ ValueCheck(ref array[0]);
+ ValueCheck(ref array[1]);
+ ValueCheck(ref array[2]);
+ ValueCheck(ref array[3]);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_g_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_b_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
{
set
{
+ ValueCheck(ref value);
NDalicPINVOKE.Vector4_a_set(swigCPtr, value);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
}
return new Color(vec.R, vec.G, vec.B, vec.A);
}
+ internal static void ValueCheck(Color color)
+ {
+ if (color.R < 0.0f)
+ {
+ color.R = 0.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ else if (color.R > 1.0f)
+ {
+ color.R = 1.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ if (color.G < 0.0f)
+ {
+ color.G = 0.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ else if (color.G > 1.0f)
+ {
+ color.G = 1.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ if (color.B < 0.0f)
+ {
+ color.B = 0.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ else if (color.B > 1.0f)
+ {
+ color.B = 1.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ if (color.A < 0.0f)
+ {
+ color.A = 0.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ else if (color.A > 1.0f)
+ {
+ color.A = 1.0f;
+ Tizen.Log.Fatal("NUI", "The value of Result is invalid! Should be between [0, 1].");
+ }
+ }
+
+ internal static void ValueCheck(ref float value)
+ {
+ if (value < 0.0f)
+ {
+ value = 0.0f;
+ Tizen.Log.Fatal("NUI", "The value of Parameters is invalid! Should be between [0, 1].");
+ }
+ else if (value > 1.0f)
+ {
+ value = 1.0f;
+ Tizen.Log.Fatal("NUI", "The value of Parameters is invalid! Should be between [0, 1].");
+ }
+ }
+
}
}
*/\r
\r
using System;\r
+using System.Collections.Generic;\r
using Tizen.NUI.BaseComponents;\r
\r
namespace Tizen.NUI\r
public abstract class Container : Animatable\r
{\r
\r
+ private List<View> _childViews = new List<View>();\r
+\r
+ public List<View> Children\r
+ {\r
+ get\r
+ {\r
+ return _childViews;\r
+ }\r
+ }\r
+\r
internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)\r
{\r
// No un-managed data hence no need to store a native ptr\r
NDalicPINVOKE.Actor_Add(swigCPtr, View.getCPtr(child));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ Children.Add(child);
}
/// <summary>
NDalicPINVOKE.Actor_Remove(swigCPtr, View.getCPtr(child));
if (NDalicPINVOKE.SWIGPendingException.Pending)
throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ Children.Remove(child);
}
/// <summary>
/// <returns>The view for the given index or empty handle if children not initialized</returns>
public override View GetChildAt(uint index)
{
- System.IntPtr cPtr = NDalicPINVOKE.Actor_GetChildAt(swigCPtr, index);
-
- View ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as View;
-
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- return ret ?? null;
+ if (index < Children.Count)
+ {
+ return Children[Convert.ToInt32(index)];
+ }
+ else
+ {
+ return null;
+ }
}
protected override uint GetChildCount()
{
- uint ret = NDalicPINVOKE.Actor_GetChildCount(swigCPtr);
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
- return ret;
+ return Convert.ToUInt32(Children.Count);
}
///
}
base.Dispose(type);
+
+ // Dispose all Children of this Layer.
+ foreach (View childView in Children)
+ {
+ childView?.Dispose();
+ }
+ Children.Clear();
}
//You should not access any managed member here except static instance.
//because the execution order of Finalizes is non-deterministic.
+ DisConnectFromSignals();
+
+ if (swigCPtr.Handle != global::System.IntPtr.Zero)
+ {
+ if (swigCMemOwn)
+ {
+ swigCMemOwn = false;
+ NDalicPINVOKE.delete_Button(swigCPtr);
+ }
+ swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+ }
+
+ base.Dispose(type);
+ }
+
+ private void DisConnectFromSignals()
+ {
+ // Save current CPtr.
+ global::System.Runtime.InteropServices.HandleRef currentCPtr = swigCPtr;
+
+ // Use BaseHandle CPtr as current might have been deleted already in derived classes.
+ swigCPtr = GetBaseHandleCPtrHandleRef;
+
if (_stateChangedCallback != null)
{
StateChangedSignal().Disconnect(_stateChangedCallback);
ClickedSignal().Disconnect(_clickedCallback);
}
- if (swigCPtr.Handle != global::System.IntPtr.Zero)
- {
- if (swigCMemOwn)
- {
- swigCMemOwn = false;
- NDalicPINVOKE.delete_Button(swigCPtr);
- }
- swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
- }
-
- base.Dispose(type);
+ // BaseHandle CPtr is used in Registry and there is danger of deletion if we keep using it here.
+ // Restore current CPtr.
+ swigCPtr = currentCPtr;
}
* limitations under the License.
*
*/
+using System;
namespace Tizen.NUI
{
}
- /// <summary>
- /// Create or retrieve VisualFactory singleton.
- /// </summary>
- /// <returns>A handle to the VisualFactory control.</returns>
- private static VisualFactory Get()
+ [Obsolete("Please do not use! this will be deprecated, please use VisualFactory.Instance instead")]
+ public static VisualFactory Get()
{
VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
public void Add(View view)
{
- NDalicPINVOKE.Stage_Add(stageCPtr, View.getCPtr(view));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ GetRootLayer()?.Add(view);
}
public void Remove(View view)
{
- NDalicPINVOKE.Stage_Remove(stageCPtr, View.getCPtr(view));
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ GetRootLayer()?.Remove(view);
}
internal Vector2 GetSize()
internal Layer GetRootLayer()
{
- if (_rootLayer == null)
+ // Window.IsInstalled() is actually true only when called from event thread and
+ // Core has been initialized, not when Stage is ready.
+ if (_rootLayer == null && Window.IsInstalled())
+ {
_rootLayer = new Layer(NDalicPINVOKE.Stage_GetRootLayer(stageCPtr), true);
-
-
- if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+ }
return _rootLayer;
}