desiredChildWidth = (int)childLayoutItem.MeasuredWidth.Size.AsRoundedValue();
// If child has a margin then add it to desired size
-
Extents childMargin = childLayoutItem.Margin;
desiredChildHeight += childMargin.Top + childMargin.Bottom;
desiredChildWidth += childMargin.Start + childMargin.End;
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class AbsoluteLayout
- {
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AbsoluteLayout_SWIGUpcast")]
- public static extern global::System.IntPtr AbsoluteLayout_SWIGUpcast(global::System.IntPtr jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_AbsoluteLayout__SWIG_0")]
- public static extern global::System.IntPtr new_AbsoluteLayout__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AbsoluteLayout_New")]
- public static extern global::System.IntPtr AbsoluteLayout_New();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AbsoluteLayout_DownCast")]
- public static extern global::System.IntPtr AbsoluteLayout_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_AbsoluteLayout__SWIG_1")]
- public static extern global::System.IntPtr new_AbsoluteLayout__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_AbsoluteLayout_Assign")]
- public static extern global::System.IntPtr AbsoluteLayout_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_AbsoluteLayout")]
- public static extern void delete_AbsoluteLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class GridLayout
- {
-
- // GridLayout_SWIGUpcast
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_SWIGUpcast")]
- public static extern global::System.IntPtr GridLayout_SWIGUpcast(global::System.IntPtr jarg1);
-
-
- // GridLayout_New
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_New")]
- public static extern global::System.IntPtr GridLayout_New();
-
-
- // delete_GridLayout
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_delete")]
- public static extern void delete_GridLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- // GridLayout_Downcast
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_DownCast")]
- public static extern global::System.IntPtr GridLayout_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- // new_GridLayout_SWIG_1
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_GridLayout_SWIG_1")]
- public static extern global::System.IntPtr new_GridLayout_SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- // GridLayout_Assign
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_GridLayout_Assign")]
- public static extern global::System.IntPtr GridLayout_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- // GridLayout_SetColumns
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout_SetColumns")]
- public static extern void GridLayout_SetColumns(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- // GridLayout_GetColumns
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GridLayout__GetColumns")]
- public static extern int GridLayout_GetColumns(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- }
- }
-}
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_ViewLayoutDirectionSignal_Emit")]
public static extern void ViewLayoutDirectionChangedSignal_Emit(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
+
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_ViewLayoutDirectionSignal")]
public static extern global::System.IntPtr new_ViewLayoutDirectionChangedSignal();
[global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_ViewLayoutDirectionSignal")]
public static extern void delete_ViewLayoutDirectionChangedSignal(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GetLayout__SWIG_0")]
- public static extern global::System.IntPtr GetLayout__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GetLayout__SWIG_1")]
- public static extern global::System.IntPtr GetLayout__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_SetLayout__SWIG_0")]
- public static extern void SetLayout__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_SetLayout__SWIG_1")]
- public static extern void SetLayout__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
}
}
}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutGroupWrapper
- {
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_SWIGUpcast")]
- public static extern global::System.IntPtr LayoutGroupWrapper_SWIGUpcast(global::System.IntPtr jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_UNKNOWN_ID_get")]
- public static extern uint LayoutGroupWrapper_UNKNOWN_ID_get();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_ChildProperty_MARGIN_SPECIFICATION_get")]
- public static extern int LayoutGroupWrapper_ChildProperty_MARGIN_SPECIFICATION_get();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutGroupWrapper_ChildProperty")]
- public static extern global::System.IntPtr new_LayoutGroupWrapper_ChildProperty();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutGroupWrapper_ChildProperty")]
- public static extern void delete_LayoutGroupWrapper_ChildProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutGroupWrapper__SWIG_0")]
- public static extern global::System.IntPtr new_LayoutGroupWrapper__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutGroupWrapper")]
- public static extern void delete_LayoutGroupWrapper(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutGroupWrapper__SWIG_1")]
- public static extern global::System.IntPtr new_LayoutGroupWrapper__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_Assign")]
- public static extern global::System.IntPtr LayoutGroupWrapper_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_DownCast")]
- public static extern global::System.IntPtr LayoutGroupWrapper_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_Add")]
- public static extern uint LayoutGroupWrapper_Add(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_Remove__SWIG_0")]
- public static extern void LayoutGroupWrapper_Remove__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_Remove__SWIG_1")]
- public static extern void LayoutGroupWrapper_Remove__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_GetChildAt")]
- public static extern global::System.IntPtr LayoutGroupWrapper_GetChildAt(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_GetChildCount")]
- public static extern uint LayoutGroupWrapper_GetChildCount(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutGroupWrapper_GetChild")]
- public static extern global::System.IntPtr LayoutGroupWrapper_GetChild(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutGroupWrapper__SWIG_2")]
- public static extern global::System.IntPtr new_LayoutGroupWrapper__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutGroupWrapperImpl
- {
-
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutItemPtr
- {
-
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemPtr__SWIG_0")]
- public static extern global::System.IntPtr new_LayoutItemPtr__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemPtr__SWIG_1")]
- public static extern global::System.IntPtr new_LayoutItemPtr__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemPtr__SWIG_2")]
- public static extern global::System.IntPtr new_LayoutItemPtr__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutItemPtr")]
- public static extern void delete_LayoutItemPtr(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Get")]
- public static extern global::System.IntPtr LayoutItemPtr_Get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr___deref__")]
- public static extern global::System.IntPtr LayoutItemPtr___deref__(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr___ref__")]
- public static extern global::System.IntPtr LayoutItemPtr___ref__(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Assign__SWIG_0")]
- public static extern global::System.IntPtr LayoutItemPtr_Assign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Assign__SWIG_1")]
- public static extern global::System.IntPtr LayoutItemPtr_Assign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Reset__SWIG_0")]
- public static extern void LayoutItemPtr_Reset__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Reset__SWIG_1")]
- public static extern void LayoutItemPtr_Reset__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Detach")]
- public static extern global::System.IntPtr LayoutItemPtr_Detach(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_New")]
- public static extern global::System.IntPtr LayoutItemPtr_New(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Initialize")]
- public static extern void LayoutItemPtr_Initialize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Unparent")]
- public static extern void LayoutItemPtr_Unparent(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_SetAnimateLayout")]
- public static extern void LayoutItemPtr_SetAnimateLayout(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_IsLayoutAnimated")]
- public static extern bool LayoutItemPtr_IsLayoutAnimated(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Measure")]
- public static extern void LayoutItemPtr_Measure(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Layout")]
- public static extern void LayoutItemPtr_Layout(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3, global::System.Runtime.InteropServices.HandleRef jarg4, global::System.Runtime.InteropServices.HandleRef jarg5);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetDefaultSize")]
- public static extern global::System.IntPtr LayoutItemPtr_GetDefaultSize(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetParent")]
- public static extern global::System.IntPtr LayoutItemPtr_GetParent(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_RequestLayout")]
- public static extern void LayoutItemPtr_RequestLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_IsLayoutRequested")]
- public static extern bool LayoutItemPtr_IsLayoutRequested(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMeasuredWidth")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMeasuredWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMeasuredHeight")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMeasuredHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMeasuredWidthAndState")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMeasuredWidthAndState(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMeasuredHeightAndState")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMeasuredHeightAndState(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetSuggestedMinimumWidth")]
- public static extern global::System.IntPtr LayoutItemPtr_GetSuggestedMinimumWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetSuggestedMinimumHeight")]
- public static extern global::System.IntPtr LayoutItemPtr_GetSuggestedMinimumHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_SetMinimumWidth")]
- public static extern void LayoutItemPtr_SetMinimumWidth(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_SetMinimumHeight")]
- public static extern void LayoutItemPtr_SetMinimumHeight(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMinimumWidth")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMinimumWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetMinimumHeight")]
- public static extern global::System.IntPtr LayoutItemPtr_GetMinimumHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetPadding")]
- public static extern global::System.IntPtr LayoutItemPtr_GetPadding(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_SetMeasuredDimensions")]
- public static extern void LayoutItemPtr_SetMeasuredDimensions(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_DoAction")]
- public static extern bool LayoutItemPtr_DoAction(global::System.Runtime.InteropServices.HandleRef jarg1, string jarg2, global::System.Runtime.InteropServices.HandleRef jarg3);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetTypeName")]
- public static extern string LayoutItemPtr_GetTypeName(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_GetTypeInfo")]
- public static extern bool LayoutItemPtr_GetTypeInfo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_DoConnectSignal")]
- public static extern bool LayoutItemPtr_DoConnectSignal(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2, string jarg3, global::System.Runtime.InteropServices.HandleRef jarg4);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Reference")]
- public static extern void LayoutItemPtr_Reference(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_Unreference")]
- public static extern void LayoutItemPtr_Unreference(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemPtr_ReferenceCount")]
- public static extern int LayoutItemPtr_ReferenceCount(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutItemWrapper
- {
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_SWIGUpcast")]
- public static extern global::System.IntPtr LayoutItemWrapper_SWIGUpcast(global::System.IntPtr jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_ChildProperty_WIDTH_SPECIFICATION_get")]
- public static extern int LayoutItemWrapper_ChildProperty_WIDTH_SPECIFICATION_get();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_ChildProperty_HEIGHT_SPECIFICATION_get")]
- public static extern int LayoutItemWrapper_ChildProperty_HEIGHT_SPECIFICATION_get();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemWrapper_ChildProperty")]
- public static extern global::System.IntPtr new_LayoutItemWrapper_ChildProperty();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutItemWrapper_ChildProperty")]
- public static extern void delete_LayoutItemWrapper_ChildProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemWrapper__SWIG_0")]
- public static extern global::System.IntPtr new_LayoutItemWrapper__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutItemWrapper")]
- public static extern void delete_LayoutItemWrapper(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_New")]
- public static extern global::System.IntPtr LayoutItemWrapper_New(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemWrapper__SWIG_1")]
- public static extern global::System.IntPtr new_LayoutItemWrapper__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_Assign")]
- public static extern global::System.IntPtr LayoutItemWrapper_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_GetOwner")]
- public static extern global::System.IntPtr LayoutItemWrapper_GetOwner(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_SetAnimateLayout")]
- public static extern void LayoutItemWrapper_SetAnimateLayout(global::System.Runtime.InteropServices.HandleRef jarg1, bool jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutItemWrapper_IsLayoutAnimated")]
- public static extern bool LayoutItemWrapper_IsLayoutAnimated(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutItemWrapper__SWIG_2")]
- public static extern global::System.IntPtr new_LayoutItemWrapper__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutLength
- {
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutLength__SWIG_0")]
- public static extern global::System.IntPtr new_LayoutLength__SWIG_0(int jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutLength__SWIG_1")]
- public static extern global::System.IntPtr new_LayoutLength__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Assign")]
- public static extern global::System.IntPtr LayoutLength_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_EqualTo__SWIG_0")]
- public static extern bool LayoutLength_EqualTo__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_EqualTo__SWIG_1")]
- public static extern bool LayoutLength_EqualTo__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_NotEqualTo")]
- public static extern bool LayoutLength_NotEqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_LessThan__SWIG_0")]
- public static extern bool LayoutLength_LessThan__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_GreaterThan__SWIG_0")]
- public static extern bool LayoutLength_GreaterThan__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Add__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_Add__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Add__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_Add__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Subtract__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_Subtract__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Subtract__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_Subtract__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_AddAssign__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_AddAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_AddAssign__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_AddAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_SubtractAssign__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_SubtractAssign__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_SubtractAssign__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_SubtractAssign__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Divide__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_Divide__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Divide__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_Divide__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Multiply__SWIG_0")]
- public static extern global::System.IntPtr LayoutLength_Multiply__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Multiply__SWIG_1")]
- public static extern global::System.IntPtr LayoutLength_Multiply__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_Multiply__SWIG_2")]
- public static extern global::System.IntPtr LayoutLength_Multiply__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_mValue_set")]
- public static extern void LayoutLength_mValue_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutLength_mValue_get")]
- public static extern int LayoutLength_mValue_get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutLength")]
- public static extern void delete_LayoutLength(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutParent
- {
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutParent_GetParent")]
- public static extern global::System.IntPtr LayoutParent_GetParent(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LayoutSize
- {
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutSize__SWIG_0")]
- public static extern global::System.IntPtr new_LayoutSize__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutSize__SWIG_1")]
- public static extern global::System.IntPtr new_LayoutSize__SWIG_1(int jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LayoutSize__SWIG_2")]
- public static extern global::System.IntPtr new_LayoutSize__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_Assign")]
- public static extern global::System.IntPtr LayoutSize_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_GetWidth")]
- public static extern int LayoutSize_GetWidth(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_GetHeight")]
- public static extern int LayoutSize_GetHeight(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_SetWidth__SWIG_0")]
- public static extern void LayoutSize_SetWidth__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_SetHeight__SWIG_0")]
- public static extern void LayoutSize_SetHeight__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_SetWidth__SWIG_1")]
- public static extern void LayoutSize_SetWidth__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_SetHeight__SWIG_1")]
- public static extern void LayoutSize_SetHeight__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_EqualTo")]
- public static extern bool LayoutSize_EqualTo(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_x_set")]
- public static extern void LayoutSize_x_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_x_get")]
- public static extern int LayoutSize_x_get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_width_set")]
- public static extern void LayoutSize_width_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_width_get")]
- public static extern int LayoutSize_width_get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_y_set")]
- public static extern void LayoutSize_y_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_y_get")]
- public static extern int LayoutSize_y_get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_height_set")]
- public static extern void LayoutSize_height_set(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LayoutSize_height_get")]
- public static extern int LayoutSize_height_get(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LayoutSize")]
- public static extern void delete_LayoutSize(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- }
- }
-}
+++ /dev/null
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace Tizen.NUI
-{
- internal static partial class Interop
- {
- internal static partial class LinearLayout
- {
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_SWIGUpcast")]
- public static extern global::System.IntPtr LinearLayout_SWIGUpcast(global::System.IntPtr jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LinearLayout__SWIG_0")]
- public static extern global::System.IntPtr new_LinearLayout__SWIG_0();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_New")]
- public static extern global::System.IntPtr LinearLayout_New();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_DownCast")]
- public static extern global::System.IntPtr LinearLayout_DownCast(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LinearLayout__SWIG_1")]
- public static extern global::System.IntPtr new_LinearLayout__SWIG_1(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_Assign")]
- public static extern global::System.IntPtr LinearLayout_Assign(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LinearLayout")]
- public static extern void delete_LinearLayout(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_SetCellPadding")]
- public static extern void LinearLayout_SetCellPadding(global::System.Runtime.InteropServices.HandleRef jarg1, global::System.Runtime.InteropServices.HandleRef jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_GetCellPadding")]
- public static extern global::System.IntPtr LinearLayout_GetCellPadding(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_SetOrientation")]
- public static extern void LinearLayout_SetOrientation(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_GetOrientation")]
- public static extern int LinearLayout_GetOrientation(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_SetAlignment")]
- public static extern void LinearLayout_SetAlignment(global::System.Runtime.InteropServices.HandleRef jarg1, uint jarg2);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_GetAlignment")]
- public static extern uint LinearLayout_GetAlignment(global::System.Runtime.InteropServices.HandleRef jarg1);
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_LinearLayout_ChildProperty_WEIGHT_get")]
- public static extern int LinearLayout_ChildProperty_WEIGHT_get();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_new_LinearLayout_ChildProperty")]
- public static extern global::System.IntPtr new_LinearLayout_ChildProperty();
-
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_delete_LinearLayout_ChildProperty")]
- public static extern void delete_LinearLayout_ChildProperty(global::System.Runtime.InteropServices.HandleRef jarg1);
- }
- }
-}
+++ /dev/null
-/*
- * Copyright (c) 2019 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.
- *
- */
-
-namespace Tizen.NUI
-{
- class LayoutPINVOKE
- {
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GetImplementation__SWIG_0")]
- public static extern global::System.IntPtr GetImplementation__SWIG_0(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- [global::System.Runtime.InteropServices.DllImport(NDalicPINVOKE.Lib, EntryPoint = "CSharp_Dali_GetImplementation__SWIG_2")]
- public static extern global::System.IntPtr GetImplementation__SWIG_2(global::System.Runtime.InteropServices.HandleRef jarg1);
-
- }
-}
*
*/
-using System.ComponentModel;
-using System;
using Tizen.NUI.BaseComponents;
using System.Runtime.InteropServices;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System;
namespace Tizen.NUI
{
[UnmanagedFunctionPointer(CallingConvention.StdCall)]
internal delegate void Callback(int id);
- event Callback mInstance;
+ event Callback _instance;
- //A Flat to check if it is already disposed.
+ // A Flag to check if it is already disposed.
protected bool disposed = false;
private Window _window;
+
+ Animation _coreAnimation;
+
+ private List<LayoutData> _layoutTransitionDataQueue;
+
+ private List<LayoutItem> _itemRemovalQueue;
+
/// <summary>
/// Constructs a LayoutController which controls the measuring and layouting.<br />
/// <param name="window">Window attach this LayoutController to.</param>
// Wrap cPtr in a managed handle.
unmanagedLayoutController = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
- mInstance = new Callback(Process);
- Interop.LayoutController.LayoutController_SetCallback(unmanagedLayoutController, mInstance);
+ _instance = new Callback(Process);
+ Interop.LayoutController.LayoutController_SetCallback(unmanagedLayoutController, _instance);
+
+ _layoutTransitionDataQueue = new List<LayoutData>();
}
/// <summary>
}
}
-
/// <summary>
/// Destructor which adds LayoutController to the Dispose queue.
/// </summary>
}
/// <summary>
+ /// Add transition data for a LayoutItem to the transition stack.
+ /// </summary>
+ /// <param name="transitionDataEntry">Transition data for a LayoutItem.</param>
+ internal void AddTransitionDataEntry( LayoutData transitionDataEntry)
+ {
+ _layoutTransitionDataQueue.Add(transitionDataEntry);
+ }
+
+ /// <summary>
+ /// Add LayoutItem to a removal stack for removal after transitions finish.
+ /// </summary>
+ /// <param name="itemToRemove">LayoutItem to remove.</param>
+ internal void AddToRemovalStack( LayoutItem itemToRemove)
+ {
+ if (_itemRemovalQueue == null)
+ {
+ _itemRemovalQueue = new List<LayoutItem>();
+ }
+ _itemRemovalQueue.Add(itemToRemove);
+ }
+
+ /// <summary>
/// Dispose Explict or Implicit
/// </summary>
protected virtual void Dispose(DisposeTypes type)
new LayoutLength(rootPosition.Y),
new LayoutLength(rootPosition.X) + root.Layout.MeasuredWidth.Size,
new LayoutLength(rootPosition.Y) + root.Layout.MeasuredHeight.Size );
+
+ bool readyToPlay = SetupCoreAnimation();
+
+ if (readyToPlay)
+ {
+ PlayAnimation();
+ }
}
}
root.Layout.Layout(left, top, right, bottom);
}
}
+
+ /// <summary>
+ /// Play the animation.
+ /// </summary>
+ private void PlayAnimation()
+ {
+ _coreAnimation.Play();
+ }
+
+ private void AnimationFinished(object sender, EventArgs e)
+ {
+ // Iterate list of LayoutItem that were set for removal.
+ // Now the core animation has finished their Views can be removed.
+ if (_itemRemovalQueue != null)
+ {
+ foreach (LayoutItem item in _itemRemovalQueue)
+ {
+ // Check incase the parent was already removed and the Owner was
+ // removed already.
+ if (item.Owner)
+ {
+ // Check again incase the parent has already been removed.
+ ILayoutParent layoutParent = item.GetParent();
+ LayoutGroup layoutGroup = layoutParent as LayoutGroup;
+ if (layoutGroup !=null)
+ {
+ layoutGroup.Owner?.RemoveChild(item.Owner);
+ }
+
+ }
+ }
+ _itemRemovalQueue.Clear();
+ // If LayoutItems added to stack whilst the core animation is playing
+ // they would have been cleared here.
+ // Could have another stack to be added to whilst the animation is running.
+ // After the running stack is cleared it can be populated with the content
+ // of the other stack. Then the main removal stack iterated when AnimationFinished
+ // occurs again.
+ }
+ }
+
+ /// <summary>
+ /// Set up the animation from each LayoutItems position data.
+ /// Iterates the transition stack, adding an Animator to the core animation.
+ /// </summary>
+ private bool SetupCoreAnimation()
+ {
+ // Initialize animation for this layout run.
+ bool animationPending = false;
+
+ if (_layoutTransitionDataQueue.Count > 0 ) // Something to animate
+ {
+ _coreAnimation = new Animation();
+ _coreAnimation.EndAction = Animation.EndActions.StopFinal;
+ _coreAnimation.Finished += AnimationFinished;
+
+ // Iterate all items that have been queued for repositioning.
+ foreach (LayoutData layoutPositionData in _layoutTransitionDataQueue)
+ {
+ AddAnimatorsToAnimation(layoutPositionData);
+ }
+
+ animationPending = true;
+
+ // transitions have now been applied, clear stack, ready for new transitions on
+ // next layout traversal.
+ _layoutTransitionDataQueue.Clear();
+ }
+ return animationPending;
+ }
+
+ private void SetupAnimationForPosition(LayoutData layoutPositionData, TransitionComponents positionTransitionComponents)
+ {
+ // A removed item does not have a valid target position within the layout so don't try to position.
+ if( layoutPositionData.ConditionForAnimation != TransitionCondition.Remove )
+ {
+ _coreAnimation.AnimateTo(layoutPositionData.Item.Owner, "Position",
+ new Vector3(layoutPositionData.Left, layoutPositionData.Top, 0.0f),
+ positionTransitionComponents.Delay,
+ positionTransitionComponents.Duration,
+ positionTransitionComponents.AlphaFunction );
+ }
+ }
+
+ private void SetupAnimationForText(LayoutData layoutPositionData)
+ {
+ // Text size cant be animated so is set to it's final size.
+ // It is due to the internals of the Text not being able to recalculate fast enough.
+ if (layoutPositionData.Item.Owner is TextLabel || layoutPositionData.Item.Owner is TextField)
+ {
+ float itemWidth = layoutPositionData.Right-layoutPositionData.Left;
+ float itemHeight = layoutPositionData.Bottom-layoutPositionData.Top;
+ // Set size directly.
+ layoutPositionData.Item.Owner.Size2D = new Size2D((int)itemWidth, (int)itemHeight);
+ }
+ else
+ {
+ _coreAnimation.AnimateTo(layoutPositionData.Item.Owner, "Size",
+ new Vector3(layoutPositionData.Right-layoutPositionData.Left,
+ layoutPositionData.Bottom-layoutPositionData.Top,
+ 0.0f),
+ 0, 1000);
+ }
+ }
+
+ void SetupAnimationForCustomTransitions(TransitionList transitionsToAnimate, View view )
+ {
+ if (transitionsToAnimate.Count > 0)
+ {
+ foreach (LayoutTransition transition in transitionsToAnimate)
+ {
+ if ( transition.AnimatableProperty != AnimatableProperties.Position)
+ {
+ _coreAnimation.AnimateTo(view,
+ transition.AnimatableProperty.ToString(),
+ transition.TargetValue,
+ transition.Animator.Delay,
+ transition.Animator.Duration,
+ transition.Animator.AlphaFunction );
+ }
+ }
+ }
+ }
+
+ /// <summary>
+ /// Interate transitions and replace Position Components if replacements found in list.
+ /// </summary>
+ private void FindAndReplaceAnimatorComponentsForProperty(TransitionList sourceTransitionList,
+ AnimatableProperties propertyToMatch,
+ ref TransitionComponents transitionComponentToUpdate)
+ {
+ foreach( LayoutTransition matchedTransitionList in sourceTransitionList)
+ {
+ if (matchedTransitionList.AnimatableProperty == propertyToMatch)
+ {
+ // Matched property to animate is for the propertyToMatch so use provided Animator.
+ transitionComponentToUpdate = matchedTransitionList.Animator;
+ }
+ }
+ }
+
+ /// <summary>
+ /// Sets up the main animation with the animators for each item (each layoutPositionData structure)
+ /// </summary>
+ private void AddAnimatorsToAnimation( LayoutData layoutPositionData )
+ {
+ LayoutTransition positionTransition = new LayoutTransition();
+ TransitionCondition conditionForAnimators = layoutPositionData.ConditionForAnimation;
+
+ // LayoutChanged transitions overrides ChangeOnAdd and ChangeOnRemove as siblings will
+ // reposition to the new layout not to the insertion/removal of a sibling.
+ if (layoutPositionData.ConditionForAnimation.HasFlag(TransitionCondition.LayoutChanged))
+ {
+ conditionForAnimators = TransitionCondition.LayoutChanged;
+ }
+
+ // Set up a default transition, will be overwritten if inherited from parent or set explicitly.
+ const int START_TIME = 0;
+ const int END_TIME = 100;
+ AlphaFunction alphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Linear);
+ // positionTransitionComponents will be overwritten if set explicitly
+ TransitionComponents positionTransitionComponents = new TransitionComponents(START_TIME, END_TIME, alphaFunction);
+ bool matchedCustomTransitions = false;
+
+ // Inherit parent transitions if none already set on View for the condition.
+ // Transitions set on View rather than LayoutItem so if the Layout changes the transition persist.
+ // Still need to inherit Position animator from parent but not other animatable properties if already set.
+
+ TransitionList transitionsForCurrentCondition;
+
+ ILayoutParent layoutParent = layoutPositionData.Item.GetParent();
+ if (layoutParent !=null)
+ {
+ // Check if item to aninmate has it's own Transitions for this condition.
+ if (layoutPositionData.Item.Owner.LayoutTransitions.ContainsKey(conditionForAnimators))
+ {
+ matchedCustomTransitions = true; // If a key exists then a List of atleast 1 transition exists.
+ }
+ else
+ {
+ // Item doesn't have it's own transitions for this condition so copy parents if
+ // has a parent with transitions.
+ transitionsForCurrentCondition = new TransitionList();
+ LayoutGroup layoutGroup = layoutParent as LayoutGroup;
+ TransitionList parentTransitionList;
+ // Note TryGetValue returns null if key not matched.
+ if (layoutGroup.Owner.LayoutTransitions.TryGetValue(conditionForAnimators, out parentTransitionList))
+ {
+ // Copy parent transitions for this condition to temporary TransitionList.
+ LayoutTransitionsHelper.CopyTransitions(parentTransitionList,
+ transitionsForCurrentCondition);
+
+ SetupAnimationForCustomTransitions(transitionsForCurrentCondition, layoutPositionData.Item.Owner);
+ matchedCustomTransitions = false;
+ }
+ }
+ }
+
+ // SetupAnimationXXXX functions add Animators to the core Animation, these can be custom or set by the
+ // layout system in the case of Positioning.
+
+ if (matchedCustomTransitions)
+ {
+ // Position transition can be for a layout changing to another layout or an item being added or removed.
+ // There can only be one position transition, it will be replaced if set multiple times.
+ // transitionsForCurrentCondition represent all non position (custom) properties that should be animated.
+ // There can be multiple properties hence returned as a list.
+ if (layoutPositionData.Item.Owner.LayoutTransitions.TryGetValue(conditionForAnimators, out transitionsForCurrentCondition))
+ {
+ // Search for Position property in the transitionsForCurrentCondition list of custom transitions,
+ // and only use the particular parts of the animator as custom transitions should not effect all parameters of Position.
+ // Typically Delay, Duration and Alphafunction can be custom.
+ FindAndReplaceAnimatorComponentsForProperty(transitionsForCurrentCondition,
+ AnimatableProperties.Position,
+ ref positionTransitionComponents);
+
+ SetupAnimationForCustomTransitions(transitionsForCurrentCondition, layoutPositionData.Item.Owner);
+ }
+ }
+
+ SetupAnimationForPosition(layoutPositionData, positionTransitionComponents);
+
+ SetupAnimationForText(layoutPositionData);
+ }
+
} // class LayoutController
-} // namespace Tizen.NUI
\ No newline at end of file
+} // namespace Tizen.NUI
*/
using System.Collections.Generic;
+using System;
+using System.ComponentModel;
namespace Tizen.NUI
{
+ /// <summary>
+ /// The conditions for transitions.
+ /// </summary>
+ [FlagsAttribute]
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public enum TransitionCondition
+ {
+ /// <summary>
+ /// Default when a condition has not been set.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Unspecified = 0,
+
+ /// <summary>
+ /// Animate changing layout to another layout.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ LayoutChanged = 1,
+
+ /// <summary>
+ /// Animate adding item.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Add = 2,
+
+ /// <summary>
+ /// Animate removing item.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Remove = 4,
+
+ /// <summary>
+ /// Animation when an item changes due to a sibbling being added.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ ChangeOnAdd = 8,
+
+ /// <summary>
+ /// Animation when an item changes due to a sibbling being removed.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ ChangeOnRemove = 16
+ }
/// <summary>
- /// [Draft] Class to hold layout position data
+ /// [Draft] Class to hold layout animation and position data
/// </summary>
- internal struct LayoutPositionData
+ internal struct LayoutData
{
/// <summary>
/// [Draft] Initialized constructor
/// </summary>
+ /// <param name="item">Layout item.</param>
+ /// <param name="condition">Condition for the position values.</param>
/// <param name="left">Left position.</param>
/// <param name="top">Top position.</param>
/// <param name="right">Right position.</param>
/// <param name="bottom">Bottom position.</param>
- /// <param name="animated">If an animation is required to the given positions.</param>
- public LayoutPositionData( float left, float top, float right, float bottom, bool animated )
+ public LayoutData( LayoutItem item, TransitionCondition condition, float left, float top, float right, float bottom )
{
- _left = left;
- _top = top;
- _right = right;
- _bottom = bottom;
- _animated = animated;
+ Item = item;
+ ConditionForAnimation = condition;
+ Left = left;
+ Top = top;
+ Right = right;
+ Bottom = bottom;
}
- private float _left;
- private float _top;
- private float _right;
- private float _bottom;
- private bool _animated;
- };
+ public LayoutItem Item{ get;}
- /// <summary>
- /// [Draft] Class to hold Layout data for each entity being laid out.
- /// </summary>
- internal class LayoutData
- {
- /// <summary>
- /// [Draft] Constructor
- /// </summary>
- public LayoutData()
- {
- LayoutPositionDataList = new List<LayoutPositionData>();
- }
+ public TransitionCondition ConditionForAnimation{get;}
- private List<LayoutPositionData> layoutPositionDataList;
+ public float Left{get;}
+ public float Top{get;}
+ public float Right{get;}
+ public float Bottom{get;}
- internal List<LayoutPositionData> LayoutPositionDataList { get => layoutPositionDataList; set => layoutPositionDataList = value; }
- } // LayoutData
+ };
} // namespace Tizen.NUI
using System;
using System.Collections.Generic;
using System.ComponentModel;
+using System.Diagnostics;
using Tizen.NUI.BaseComponents;
using System.Linq;
_children = new List<LayoutItem>();
}
- /// <summary>
+ /// <summary>
/// From ILayoutParent.<br />
/// </summary>
public virtual void Add(LayoutItem childLayout)
{
_children.Add(childLayout);
childLayout.SetParent(this);
+ // Child added to use a Add transition.
+ childLayout.ConditionForAnimation = ConditionForAnimation | TransitionCondition.Add;
+ // Child's parent sets all other children not being added to a ChangeOnAdd transition.
+ SetConditionsForAnimationOnLayoutGroup(TransitionCondition.ChangeOnAdd);
OnChildAdd(childLayout);
RequestLayout();
}
{
foreach( LayoutItem childLayout in _children )
{
+ childLayout.ConditionForAnimation = ConditionForAnimation | TransitionCondition.Remove;
childLayout.Owner = null;
}
_children.Clear();
/// </summary>
public virtual void Remove(LayoutItem layoutItem)
{
+ bool childRemoved = false;
foreach( LayoutItem childLayout in _children.ToList() )
{
if( childLayout == layoutItem )
{
- childLayout.SetParent(null);
+ Window.Instance.LayoutController.AddToRemovalStack(childLayout);
_children.Remove(childLayout);
+ ConditionForAnimation = ConditionForAnimation | TransitionCondition.Remove;
+ // Add LayoutItem to the transition stack so can animate it out.
+ Window.Instance.LayoutController.AddTransitionDataEntry(new LayoutData(layoutItem, ConditionForAnimation, 0,0,0,0));
+
+ childRemoved = true;
}
}
+ if (childRemoved)
+ {
+ // If child removed then set all siblings not being added to a ChangeOnRemove transition.
+ SetConditionsForAnimationOnLayoutGroup(TransitionCondition.ChangeOnRemove);
+ }
RequestLayout();
}
+ // Attaches to View ChildAdded signal so called when a View is added to a view.
private void AddChildToLayoutGroup(View child)
{
// Only give children a layout if their parent is an explicit container or a pure View.
Add(child.Layout);
}
}
+ // Parent transitions are not attached to children.
}
/// <summary>
/// If the child has a layout then it is removed from the parent layout.
/// </summary>
- /// <param name="child">Child to remove.true</param>
- private void RemoveChildFromLayoutGroup(View child)
+ /// <param name="child">Child View to remove.</param>
+ internal void RemoveChildFromLayoutGroup(View child)
{
- if(child.Layout != null)
+ Debug.Assert(child.Layout !=null);
+ Remove(child.Layout);
+ }
+
+ /// <summary>
+ /// Set all children in a LayoutGroup to the supplied condition.
+ /// Children with Add or Remove conditions should not be changed.
+ /// </summary>
+ private void SetConditionsForAnimationOnLayoutGroup( TransitionCondition conditionToSet)
+ {
+ foreach( LayoutItem childLayout in _children )
{
- Remove(child.Layout);
+ switch( conditionToSet )
+ {
+ case TransitionCondition.ChangeOnAdd :
+ {
+ // If other children also being added (TransitionCondition.Add) then do not change their
+ // conditions, Continue to use their Add transitions.
+ if (childLayout.ConditionForAnimation.HasFlag(TransitionCondition.Add))
+ {
+ break; // Child being Added so don't update it's condition
+ }
+ else
+ {
+ // Set siblings for the child being added to use the ChangeOnAdd transition.
+ childLayout.ConditionForAnimation = TransitionCondition.ChangeOnAdd;
+ }
+ break;
+ }
+ case TransitionCondition.ChangeOnRemove :
+ {
+ if (childLayout.ConditionForAnimation.HasFlag(TransitionCondition.Remove))
+ {
+ break; // Child being Removed so don't update it's condition
+ }
+ else
+ {
+ childLayout.ConditionForAnimation = TransitionCondition.ChangeOnRemove;
+ }
+ break;
+ }
+ case TransitionCondition.LayoutChanged :
+ {
+ childLayout.ConditionForAnimation = TransitionCondition.LayoutChanged;
+ break;
+ }
+ }
}
+
}
/// <summary>
AddChildToLayoutGroup(view);
}
- // Layout attached to owner so connect to ChildAdded and ChildRemoved signals.
+ // Connect to owner ChildAdded signal.
Owner.ChildAdded += OnChildAddedToOwner;
- Owner.ChildRemoved += OnChildRemovedFromOwner;
+
+ // Removing Child from the owners View will directly call the LayoutGroup removal API.
}
// Virtual Methods that can be overridden by derived classes.
child.Measure( childWidthMeasureSpec, childHeightMeasureSpec );
}
}
-}
+}
\ No newline at end of file
private ILayoutParent Parent;
- private LayoutLength _left;
- private LayoutLength _right;
- private LayoutLength _top;
- private LayoutLength _bottom;
- private LayoutData _layoutData;
+ LayoutData _layoutPositionData;
private Extents _padding;
private Extents _margin;
+ public TransitionCondition ConditionForAnimation{get; set;}
+
/// <summary>
/// [Draft] The View that this Layout has been assigned to.
/// </summary>
public View Owner{get; set;} // Should not keep a View alive.
/// <summary>
+ /// [Draft] Is this Layout set to animate its content.
+ /// </summary>
+ public bool Animate{get; set;}
+
+ /// <summary>
/// [Draft] Margin for this LayoutItem
/// </summary>
public Extents Margin
private void Initialize()
{
- _layoutData = new LayoutData();
- _left = new LayoutLength(0);
- _top = new LayoutLength(0);
- _right = new LayoutLength(0);
- _bottom = new LayoutLength(0);
+ _layoutPositionData = new LayoutData(this,TransitionCondition.Unspecified,0,0,0,0);
_padding = new Extents(0,0,0,0);
_margin = new Extents(0,0,0,0);
}
// Add layout to parent layout if a layout container
View parent = Owner.GetParent() as View;
(parent?.Layout as LayoutGroup)?.Add( this );
+
+ // If Add or ChangeOnAdd then do not update condition
+ if (ConditionForAnimation.HasFlag(TransitionCondition.Unspecified))
+ {
+ ConditionForAnimation = TransitionCondition.LayoutChanged;
+ }
}
/// <summary>
/// <param name="bottom">Bottom position, relative to parent.</param>
public void Layout(LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom)
{
- bool changed = SetFrame(left, top, right, bottom);
+ bool changed = SetFrame(left.AsRoundedValue(),
+ top.AsRoundedValue(),
+ right.AsRoundedValue(),
+ bottom.AsRoundedValue());
// Check if Measure needed before Layouting
if (changed || ((Flags & LayoutFlags.LayoutRequired) == LayoutFlags.LayoutRequired))
/// Sets the minimum width of the layout.<br />
/// It is not guaranteed the layout will be able to achieve this minimum width (for example, if its parent
/// layout constrains it with less available width).<br />
- /// 1. if the owner's View.LayoutWidthSpecification has exact value, then that value overrides the minimum size.<br />
- /// 2. If the owner's View.LayoutWidthSpecification is set to View.LayoutParamPolicies.WrapContent, then the view's width is set based on the suggested minimum width. (@see GetSuggestedMinimumWidth()).<br />
- /// 3. If the owner's View.LayoutWidthSpecification is set to View.LayoutParamPolicies.MatchParent, then the parent width takes precedence over the minimum width.<br />
+ /// 1. if the owner's View.WidthSpecification has exact value, then that value overrides the minimum size.<br />
+ /// 2. If the owner's View.WidthSpecification is set to View.LayoutParamPolicies.WrapContent, then the view's width is set based on the suggested minimum width. (@see GetSuggestedMinimumWidth()).<br />
+ /// 3. If the owner's View.WidthSpecification is set to View.LayoutParamPolicies.MatchParent, then the parent width takes precedence over the minimum width.<br />
/// </summary>
public LayoutLength MinimumWidth {get; set;}
/// Sets the minimum height of the layout.<br />
/// It is not guaranteed the layout will be able to achieve this minimum height (for example, if its parent
/// layout constrains it with less available height).<br />
- /// 1. if the owner's View.LayoutHeightSpecification has exact value, then that value overrides the minimum size.<br />
- /// 2. If the owner's View.LayoutHeightSpecification is set to View.LayoutParamPolicies.WrapContent, then the view's height is set based on the suggested minimum height. (@see GetSuggestedMinimumHeight()).<br />
- /// 3. If the owner's View.LayoutHeightSpecification is set to View.LayoutParamPolicies.MatchParent, then the parent height takes precedence over the minimum height.<br />
+ /// 1. if the owner's View.HeightSpecification has exact value, then that value overrides the minimum size.<br />
+ /// 2. If the owner's View.HeightSpecification is set to View.LayoutParamPolicies.WrapContent, then the view's height is set based on the suggested minimum height. (@see GetSuggestedMinimumHeight()).<br />
+ /// 3. If the owner's View.HeightSpecification is set to View.LayoutParamPolicies.MatchParent, then the parent height takes precedence over the minimum height.<br />
/// </summary>
public LayoutLength MinimumHeight {get; set;}
{
}
- private bool SetFrame(LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom)
+ private bool SetFrame(float left, float top, float right, float bottom)
{
bool changed = false;
- if( _left != left || _right != right || _top != top || _bottom != bottom )
+ if ( _layoutPositionData.Left != left ||
+ _layoutPositionData.Right != right ||
+ _layoutPositionData.Top != top ||
+ _layoutPositionData.Bottom != bottom )
{
changed = true;
- }
- LayoutLength oldWidth = _right - _left;
- LayoutLength oldHeight = _bottom - _top;
- LayoutLength newWidth = right - left;
- LayoutLength newHeight = bottom - top;
- bool sizeChanged = ( newWidth != oldWidth ) || ( newHeight != oldHeight );
-
- _left = left;
- _top = top;
- _right = right;
- _bottom = bottom;
-
- // Set actual positions of View.
- Owner.SetX(_left.AsRoundedValue());
- Owner.SetY(_top.AsRoundedValue());
- Owner.SetSize((int)newWidth.AsRoundedValue(), (int)newHeight.AsRoundedValue());
+ float oldWidth = _layoutPositionData.Right - _layoutPositionData.Left;
+ float oldHeight = _layoutPositionData.Bottom - _layoutPositionData.Top;
+ float newWidth = right - left;
+ float newHeight = bottom - top;
+ bool sizeChanged = ( newWidth != oldWidth ) || ( newHeight != oldHeight );
+
+ // Set condition to layout changed as currently unspecified. Add, Remove would have specified a condition.
+ if (ConditionForAnimation.HasFlag(TransitionCondition.Unspecified))
+ {
+ ConditionForAnimation = TransitionCondition.LayoutChanged;
+ }
+
+ // Store new layout position data
+ _layoutPositionData = new LayoutData(this, ConditionForAnimation, left, top, right, bottom);
+
+ Window.Instance.LayoutController.AddTransitionDataEntry(_layoutPositionData);
+
+ // Reset condition for animation ready for next transition when required.
+ ConditionForAnimation = TransitionCondition.Unspecified;
+ }
return changed;
}
--- /dev/null
+/*
+ * Copyright (c) 2019 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.Collections.Generic;
+using System;
+using System.ComponentModel;
+
+namespace Tizen.NUI
+{
+ /// <summary>
+ /// Define a List of LayoutTransitions
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public class TransitionList : List<LayoutTransition> {}
+
+ /// <summary>
+ /// The properties that can be animated.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public enum AnimatableProperties
+ {
+ /// <summary>
+ /// Position property.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Position,
+ /// <summary>
+ /// Size property.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Size,
+ /// <summary>
+ /// Opacity property.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ Opacity
+ }
+
+ /// <summary>
+ /// Parts of the transition that can be configured to provide a custom effect.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public class TransitionComponents
+ {
+ /// <summary>
+ /// TransitionComponents default constructor.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TransitionComponents()
+ {
+ Delay = 0;
+ Duration = 100;
+ AlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.Linear);
+ }
+
+ /// <summary>
+ /// TransitionComponents constructor. Stores delay, duration and AlphaFunction.
+ /// </summary>
+ /// <param name="delay">The delay before the animator starts.</param>
+ /// <param name="duration">the duration fo the animator.</param>
+ /// <param name="alphaFunction">alpha function to use .</param>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TransitionComponents(int delay, int duration, AlphaFunction alphaFunction)
+ {
+ Delay = delay;
+ Duration = duration;
+ AlphaFunction = alphaFunction;
+ }
+
+ /// <summary>
+ /// Time the transition should execute. Milliseconds.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public int Duration;
+
+ /// <summary>
+ /// Delay before the transition executes. Milliseconds.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public int Delay;
+
+ /// <summary>
+ /// Function to alter the transition path over time.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public AlphaFunction AlphaFunction;
+ }
+
+ /// <summary>
+ /// LayoutTransition stores the aninmation setting for a transition conidition.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public class LayoutTransition
+ {
+ /// <summary>
+ /// LayoutTransition default constructor.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public LayoutTransition()
+ {
+ Condition = TransitionCondition.Unspecified;
+ AnimatableProperty = AnimatableProperties.Position;
+ Animator = null;
+ TargetValue = 0;
+ }
+
+ /// <summary>
+ /// LayoutTransition constructor.
+ /// </summary>
+ /// <param name="condition">The animatable condition.</param>
+ /// <param name="animatableProperty">the property to animate.</param>
+ /// <param name="targetValue">target value of the property.</param>
+ /// <param name="animator">Components to define the animator.</param>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public LayoutTransition( TransitionCondition condition,
+ AnimatableProperties animatableProperty,
+ object targetValue,
+ TransitionComponents animator)
+ {
+ Condition = condition;
+ AnimatableProperty = animatableProperty;
+ Animator = animator;
+ TargetValue = targetValue;
+ }
+
+ /// <summary>
+ /// Condition for this Transition
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TransitionCondition Condition{get; set;}
+
+ /// <summary>
+ /// Property to animate.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public AnimatableProperties AnimatableProperty{get; set;}
+
+ /// <summary>
+ /// Components of the Animator.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public TransitionComponents Animator{get; set;}
+
+ /// <summary>
+ /// Target value to animate to.
+ /// </summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public object TargetValue{get; set;}
+ }
+
+
+ /// <summary>
+ /// Class to help manage the adding and updating of transitions.
+ /// </summary>
+ internal static class LayoutTransitionsHelper
+ {
+ /// <summary>
+ /// Adds the given transition and condition to a transition list.
+ /// </summary>
+ /// <param name="targetTransitionList">The list to add the transition to.</param>
+ /// <param name="condition">Condition for the transition.</param>
+ /// <param name="transition">The transition to add.</param>
+ /// <param name="explicitlySet">True is set explicitly, false if inherited.</param>
+ static public void AddTransitionForCondition(
+ Dictionary<TransitionCondition, TransitionList> targetTransitionList,
+ TransitionCondition condition,
+ LayoutTransition transition,
+ bool explicitlySet)
+ {
+ bool replaced = false;
+ bool conditionNotInDictionary = false;
+ TransitionList transitionListMatchingCondition;
+ if (targetTransitionList.TryGetValue(condition, out transitionListMatchingCondition))
+ {
+ for (var index=0; index < transitionListMatchingCondition?.Count; index++ )
+ {
+ if (transitionListMatchingCondition[index].AnimatableProperty == transition.AnimatableProperty)
+ {
+ if (explicitlySet)
+ {
+ transitionListMatchingCondition[index] = transition;
+ replaced = true;
+ continue;
+ }
+ }
+ }
+ }
+ else
+ {
+ conditionNotInDictionary = true;
+ }
+
+ if (replaced == false)
+ {
+ if (transitionListMatchingCondition == null)
+ {
+ transitionListMatchingCondition = new TransitionList();
+ }
+ transitionListMatchingCondition.Add(transition);
+ // Update dictionary with new or replaced entry.
+ if (conditionNotInDictionary)
+ {
+ targetTransitionList.Add(condition, transitionListMatchingCondition); // new entry
+ }
+ else
+ {
+ targetTransitionList[condition] = transitionListMatchingCondition; // replaced
+ }
+ }
+ }
+
+ /// <summary>
+ /// Retreive the transition list for the given condition.
+ /// </summary>
+ /// <param name="sourceTransitionCollection">The source collection of transition lists to retrieve.</param>
+ /// <param name="condition">Condition for the transition.</param>
+ /// <param name="transitionsForCondition">transition list to return as out parameter.</param>
+ /// <returns>True if a transition list found for the given condition></returns>
+ static public bool GetTransitionsListForCondition(
+ Dictionary<TransitionCondition, TransitionList> sourceTransitionCollection,
+ TransitionCondition condition,
+ TransitionList transitionsForCondition )
+ {
+ TransitionCondition resolvedCondition = condition;
+ bool matched = false;
+ // LayoutChanged transitions overrides ChangeOnAdd and ChangeOnRemove as siblings will
+ // reposition to the new layout not to the insertion/removal of a sibling.
+ if ((condition & TransitionCondition.LayoutChanged) == TransitionCondition.LayoutChanged)
+ {
+ resolvedCondition = TransitionCondition.LayoutChanged;
+ }
+
+ if (sourceTransitionCollection.TryGetValue(resolvedCondition, out transitionsForCondition))
+ {
+ matched = true;
+ }
+
+ return matched;
+ }
+
+ /// <summary>
+ /// Copy the transitions in the source list to the target list
+ /// </summary>
+ /// <param name="sourceTransitionList">The source transition list.</param>
+ /// <param name="targetTransitionList">The target transition list to copy to.</param>
+ static public void CopyTransitions( TransitionList sourceTransitionList,
+ TransitionList targetTransitionList )
+ {
+ targetTransitionList.Clear();
+ foreach (LayoutTransition transitionToApply in sourceTransitionList)
+ {
+ // Overwite existing transitions
+ targetTransitionList.Add(transitionToApply);
+ }
+
+ }
+ }
+
+} // namespace Tizen.NUI
\ No newline at end of file
public const int WrapContent = -2;
}
- /// <summary>
- /// [Draft] Replaced by LayoutParamPolicies, will be removed once occurrences replaced.
- /// </summary>
- internal enum ChildLayoutData
- {
- /// <summary>
- /// Constant which indicates child size should match parent size
- /// </summary>
- MatchParent = LayoutParamPolicies.MatchParent,
- /// <summary>
- /// Constant which indicates parent should take the smallest size possible to wrap it's children with their desired size
- /// </summary>
- WrapContent = LayoutParamPolicies.WrapContent,
- }
-
internal enum ResourceLoadingStatusType
{
Invalid = -1,
private global::System.Runtime.InteropServices.HandleRef swigCPtr;
private LayoutItem _layout; // Exclusive layout assigned to this View.
+
+ // List of transitions paired with the condition that uses the transition.
+ private Dictionary<TransitionCondition, TransitionList> _layoutTransitions;
private int _widthPolicy = LayoutParamPolicies.WrapContent; // Layout width policy
private int _heightPolicy = LayoutParamPolicies.WrapContent; // Layout height policy
private float _weight = 0.0f; // Weighting of child View in a Layout
/// This means by default others are impossible so it is recommended that NUI object typed properties are configured by their constructor with parameters. <br />
/// For example, this code is working fine : view.Scale = new Vector3( 2.0f, 1.5f, 0.0f); <br />
/// but this will not work! : view.Scale.X = 2.0f; view.Scale.Y = 1.5f; <br />
- /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimu size is set. <br />
+ /// It may not match the current value in some cases, i.e. when the animation is progressing or the maximum or minimum size is set. <br />
/// </remarks>
/// <since_tizen> 3 </since_tizen>
public Size2D Size2D
// All Views are currently Layouts.
MeasureSpecificationWidth = new MeasureSpecification(new LayoutLength(value.Width), MeasureSpecification.ModeType.Exactly);
MeasureSpecificationHeight = new MeasureSpecification(new LayoutLength(value.Height), MeasureSpecification.ModeType.Exactly);
+ _widthPolicy = value.Width;
+ _heightPolicy = value.Height;
+ _layout?.RequestLayout();
NotifyPropertyChanged();
}
}
}
///<summary>
- /// The required policy for this dimension, ChildLayoutData enum or exact value.
+ /// The required policy for this dimension, LayoutParamPolicies enum or exact value.
///</summary>
/// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
/// <remarks>
}
///<summary>
- /// The required policy for this dimension, ChildLayoutData enum or exact value.
+ /// The required policy for this dimension, LayoutParamPolicies enum or exact value.
///</summary>
/// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
/// <remarks>
}
}
+ ///<summary>
+ /// Gets the List of transitions for this View.
+ ///</summary>
+ /// Hidden-API which is usually used as Inhouse-API. If required to be opened as Public-API, ACR process is needed.
+ [EditorBrowsable(EditorBrowsableState.Never)]
+ public Dictionary<TransitionCondition, TransitionList> LayoutTransitions
+ {
+ get
+ {
+ if (_layoutTransitions == null)
+ {
+ _layoutTransitions = new Dictionary<TransitionCondition, TransitionList>();
+ }
+ return _layoutTransitions;
+ }
+ }
+
+ internal LayoutTransition LayoutTransition
+ {
+ set
+ {
+ if (_layoutTransitions == null)
+ {
+ _layoutTransitions = new Dictionary<TransitionCondition, TransitionList>();
+ }
+ LayoutTransitionsHelper.AddTransitionForCondition(_layoutTransitions,value.Condition,value, true);
+
+ AttachTransitionsToChildren(value);
+ }
+ }
/// <summary>
/// [Obsolete("Please do not use! this will be deprecated")]
}
}
- /// <summary>
- /// Child property to specify desired width, use MatchParent/WrapContent)
- /// </summary>
- internal ChildLayoutData LayoutWidthSpecification
- {
- get
- {
- return (ChildLayoutData)_widthPolicy;
- }
- set
- {
- _widthPolicy = (int)value;
- }
- }
-
- /// <summary>
- /// Child property to specify desired height, use MatchParent/WrapContent)
- /// </summary>
- internal ChildLayoutData LayoutHeightSpecification
- {
- get
- {
- return (ChildLayoutData)_heightPolicy;
- }
- set
- {
- _heightPolicy = (int)value;
- }
- }
-
internal float Weight
{
get
/// <summary>
/// Set the layout on this View. Replaces any existing Layout.
/// </summary>
- /// <remarks>
- /// </remarks>
internal LayoutItem Layout
{
get
}
}
+ internal void AttachTransitionsToChildren(LayoutTransition transition)
+ {
+ // Iterate children, adding the transition unless a transition
+ // for the same condition and property has already been
+ // explicitly added.
+ foreach (View view in Children)
+ {
+ LayoutTransitionsHelper.AddTransitionForCondition(view.LayoutTransitions,transition.Condition, transition, false);
+ }
+ }
+
internal float ParentOriginX
{
get
/// <since_tizen> 4 </since_tizen>
public override void Remove(View child)
{
+ if (!child || child.GetParent()==null) // Early out if child null.
+ return;
+
bool hasLayout = (_layout != null);
Log.Info("NUI","Removing View:" + child.Name + "layout[" + hasLayout.ToString() +"]\n");
- Interop.Actor.Actor_Remove(swigCPtr, View.getCPtr(child));
- if (NDalicPINVOKE.SWIGPendingException.Pending)
- throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
- Children.Remove(child);
- child.InternalParent = null;
-
- if (ChildRemoved != null)
+ // If View has a layout then do a deferred child removal
+ // Actual child removal is performed by the layouting system so
+ // transitions can be completed.
+ if (hasLayout)
{
- ChildRemovedEventArgs e = new ChildRemovedEventArgs
+ (_layout as LayoutGroup)?.RemoveChildFromLayoutGroup( child );
+ }
+ else
{
- Removed = child
- };
- ChildRemoved(this, e);
+ RemoveChild(child);
}
}
return (IntPtr)swigCPtr;
}
+ internal void RemoveChild(View child)
+ {
+ // Do actual child removal
+ Interop.Actor.Actor_Remove(swigCPtr, View.getCPtr(child));
+ if (NDalicPINVOKE.SWIGPendingException.Pending)
+ throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+ Children.Remove(child);
+ child.InternalParent = null;
+
+ if (ChildRemoved != null)
+ {
+ ChildRemovedEventArgs e = new ChildRemovedEventArgs
+ {
+ Removed = child
+ };
+ ChildRemoved(this, e);
+ }
+ }
+
/// <summary>
/// Removes the layout from this View.
/// </summary>