[NUI] Revert "Sync with dalihub & API5 branch (#631)" (#635)
authordongsug-song <35130733+dongsug-song@users.noreply.github.com>
Fri, 4 Jan 2019 01:42:37 +0000 (10:42 +0900)
committerGitHub <noreply@github.com>
Fri, 4 Jan 2019 01:42:37 +0000 (10:42 +0900)
This reverts commit f03c20962ae3b9e79c32f6c1ea3de1d4583da015.

- many problems are occurred (csfs not launching, many crashes)

121 files changed:
src/Tizen.NUI/src/internal/ActivatedSignalType.cs
src/Tizen.NUI/src/internal/Application.cs
src/Tizen.NUI/src/internal/DaliEnumConstants.cs
src/Tizen.NUI/src/internal/DisposeQueue.cs
src/Tizen.NUI/src/internal/ItemView.cs
src/Tizen.NUI/src/internal/KeyboardEventSignalType.cs
src/Tizen.NUI/src/internal/KeyboardTypeSignalType.cs
src/Tizen.NUI/src/internal/Layouting/AbsoluteLayout.cs
src/Tizen.NUI/src/internal/Layouting/FlexLayout.cs
src/Tizen.NUI/src/internal/Layouting/GridLayout.cs
src/Tizen.NUI/src/internal/Layouting/LayoutGroup.cs
src/Tizen.NUI/src/internal/Layouting/LayoutGroupWrapper.cs
src/Tizen.NUI/src/internal/Layouting/LayoutGroupWrapperImpl.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/internal/Layouting/LayoutItemWrapperImpl.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/internal/Layouting/LayoutLength.cs
src/Tizen.NUI/src/internal/Layouting/LayoutMeasureSpec.cs
src/Tizen.NUI/src/internal/Layouting/LinearLayout.cs
src/Tizen.NUI/src/internal/Layouting/MeasuredSize.cs
src/Tizen.NUI/src/internal/ManualPINVOKE.cs
src/Tizen.NUI/src/internal/NDalicPINVOKE.cs
src/Tizen.NUI/src/internal/NUICoreBackend.cs
src/Tizen.NUI/src/internal/VersionCheck.cs
src/Tizen.NUI/src/internal/ViewMode.cs [new file with mode: 0755]
src/Tizen.NUI/src/internal/WatchApplication.cs
src/Tizen.NUI/src/internal/XamlBinding/DataTemplateSelector.cs
src/Tizen.NUI/src/internal/XamlBinding/Layout.cs
src/Tizen.NUI/src/internal/XamlBinding/NavigationPage.cs
src/Tizen.NUI/src/internal/XamlBinding/TemplateUtilities.cs
src/Tizen.NUI/src/internal/XamlBinding/VectorTypeConverter.cs
src/Tizen.NUI/src/public/Adaptor.cs
src/Tizen.NUI/src/public/AlphaFunction.cs
src/Tizen.NUI/src/public/Animatable.cs
src/Tizen.NUI/src/public/Animation.cs
src/Tizen.NUI/src/public/BaseComponents/TextEditor.cs
src/Tizen.NUI/src/public/BaseComponents/TextField.cs
src/Tizen.NUI/src/public/BaseComponents/TextLabel.cs
src/Tizen.NUI/src/public/BaseComponents/View.cs
src/Tizen.NUI/src/public/BaseHandle.cs
src/Tizen.NUI/src/public/Color.cs
src/Tizen.NUI/src/public/Container.cs
src/Tizen.NUI/src/public/CustomViewRegistry.cs
src/Tizen.NUI/src/public/Degree.cs
src/Tizen.NUI/src/public/Extents.cs
src/Tizen.NUI/src/public/FilterModeType.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/public/FocusManager.cs
src/Tizen.NUI/src/public/FontClient.cs
src/Tizen.NUI/src/public/Geometry.cs
src/Tizen.NUI/src/public/Gesture.cs
src/Tizen.NUI/src/public/GestureDetector.cs
src/Tizen.NUI/src/public/Hover.cs
src/Tizen.NUI/src/public/ImfManager.cs
src/Tizen.NUI/src/public/InputMethod.cs
src/Tizen.NUI/src/public/InputMethodContext.cs
src/Tizen.NUI/src/public/Key.cs
src/Tizen.NUI/src/public/KeyFrames.cs
src/Tizen.NUI/src/public/Layer.cs
src/Tizen.NUI/src/public/LongPressGesture.cs
src/Tizen.NUI/src/public/LongPressGestureDetector.cs
src/Tizen.NUI/src/public/NUIApplication.cs
src/Tizen.NUI/src/public/NUIConstants.cs
src/Tizen.NUI/src/public/NUIWidgetApplication.cs
src/Tizen.NUI/src/public/PaddingType.cs
src/Tizen.NUI/src/public/PanGesture.cs
src/Tizen.NUI/src/public/PanGestureDetector.cs
src/Tizen.NUI/src/public/Path.cs
src/Tizen.NUI/src/public/PinchGesture.cs
src/Tizen.NUI/src/public/PinchGestureDetector.cs
src/Tizen.NUI/src/public/PixelBuffer.cs
src/Tizen.NUI/src/public/PixelData.cs
src/Tizen.NUI/src/public/Position.cs
src/Tizen.NUI/src/public/Position2D.cs
src/Tizen.NUI/src/public/Property.cs
src/Tizen.NUI/src/public/PropertyBuffer.cs
src/Tizen.NUI/src/public/PropertyCondition.cs
src/Tizen.NUI/src/public/PropertyNotification.cs
src/Tizen.NUI/src/public/PropertyNotifySignal.cs
src/Tizen.NUI/src/public/Radian.cs
src/Tizen.NUI/src/public/Rectangle.cs
src/Tizen.NUI/src/public/RelativeVector2.cs
src/Tizen.NUI/src/public/RelativeVector3.cs
src/Tizen.NUI/src/public/RelativeVector4.cs
src/Tizen.NUI/src/public/RelayoutContainer.cs
src/Tizen.NUI/src/public/Renderer.cs
src/Tizen.NUI/src/public/Rotation.cs
src/Tizen.NUI/src/public/Sampler.cs
src/Tizen.NUI/src/public/ScrollViewEffect.cs
src/Tizen.NUI/src/public/ScrollViewPagePathEffect.cs
src/Tizen.NUI/src/public/Shader.cs
src/Tizen.NUI/src/public/Size.cs
src/Tizen.NUI/src/public/Size2D.cs
src/Tizen.NUI/src/public/StyleManager.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/public/TTSPlayer.cs [changed mode: 0755->0644]
src/Tizen.NUI/src/public/TapGesture.cs
src/Tizen.NUI/src/public/TapGestureDetector.cs
src/Tizen.NUI/src/public/Texture.cs
src/Tizen.NUI/src/public/TextureSet.cs
src/Tizen.NUI/src/public/Timer.cs
src/Tizen.NUI/src/public/Touch.cs
src/Tizen.NUI/src/public/TransitionData.cs
src/Tizen.NUI/src/public/TypeInfo.cs
src/Tizen.NUI/src/public/TypeRegistry.cs
src/Tizen.NUI/src/public/Vector2.cs
src/Tizen.NUI/src/public/Vector3.cs
src/Tizen.NUI/src/public/Vector4.cs
src/Tizen.NUI/src/public/ViewWrapper.cs
src/Tizen.NUI/src/public/VisualBase.cs
src/Tizen.NUI/src/public/VisualFactory.cs
src/Tizen.NUI/src/public/VisualMaps.cs
src/Tizen.NUI/src/public/WatchTime.cs
src/Tizen.NUI/src/public/Wheel.cs
src/Tizen.NUI/src/public/Widget.cs
src/Tizen.NUI/src/public/WidgetView.cs
src/Tizen.NUI/src/public/WidgetViewManager.cs
src/Tizen.NUI/src/public/Window.cs
src/Tizen.NUI/src/public/XamlBinding/ContentPage.cs
src/Tizen.NUI/src/public/XamlBinding/Element.cs
src/Tizen.NUI/src/public/XamlBinding/IResourcesProvider.cs
src/Tizen.NUI/src/public/XamlBinding/IValueConverter.cs
src/Tizen.NUI/src/public/XamlBinding/Page.cs
src/Tizen.NUI/src/public/XamlBinding/ResourceDictionary.cs
src/Tizen.NUI/src/public/XamlBinding/XmlnsDefinitionAttribute.cs

index 13d24ec..941e6e5 100755 (executable)
@@ -176,7 +176,7 @@ namespace Tizen.NUI
         /// Emits the signal.
         /// </summary>
         /// <param name="arg">The first value to pass to callbacks</param>
-        /// <since_tizen> 5 </since_tizen>
+        /// <since_tizen> 4 </since_tizen>
         public void Emit(InputMethodContext arg)
         {
             NDalicManualPINVOKE.ActivatedSignalType_Emit(swigCPtr, InputMethodContext.getCPtr(arg));
index e44d802..e7cc4a9 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -309,14 +309,8 @@ namespace Tizen.NUI
         }
     }
 
-    /// <summary>
-    /// A class to get resources in current application.
-    /// </summary>
     public class GetResourcesProvider
     {
-        /// <summary>
-        /// Get resources in current application.
-        /// </summary>
         static public IResourcesProvider Get()
         {
             return Tizen.NUI.Application.Current;
@@ -414,7 +408,7 @@ namespace Tizen.NUI
         }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public new NavigationProxy NavigationProxy { get; }
+        public NavigationProxy NavigationProxy { get; }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int PanGestureId { get; set; }
@@ -953,6 +947,11 @@ namespace Tizen.NUI
         // Callback for Application InitSignal
         private void OnApplicationInit(IntPtr data)
         {
+            if (Version.DaliVersionMatchWithNUI() == false)
+            {
+                Tizen.Log.Fatal("NUI", "Dali and NUI are version mismatched!");
+            }
+
             // Initialize DisposeQueue Singleton class. This is also required to create DisposeQueue on main thread.
             DisposeQueue.Instance.Initialize();
 
@@ -962,7 +961,6 @@ namespace Tizen.NUI
                 e.Application = this;
                 _applicationInitEventHandler.Invoke(this, e);
             }
-
         }
 
         /**
@@ -1615,6 +1613,32 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal void SetViewMode(ViewMode viewMode)
+        {
+            NDalicPINVOKE.Application_SetViewMode(swigCPtr, (int)viewMode);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal ViewMode GetViewMode()
+        {
+            ViewMode ret = (ViewMode)NDalicPINVOKE.Application_GetViewMode(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        public void SetStereoBase(float stereoBase)
+        {
+            NDalicPINVOKE.Application_SetStereoBase(swigCPtr, stereoBase);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        public float GetStereoBase()
+        {
+            float ret = NDalicPINVOKE.Application_GetStereoBase(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         public string GetLanguage()
         {
             string ret = NDalicPINVOKE.Application_GetLanguage(swigCPtr);
index 04d68cf..be815da 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2016 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.
@@ -21,25 +21,53 @@ using System.Runtime.CompilerServices;
 
 namespace Tizen.NUI
 {
-    namespace Constants
+  namespace Constants
+  {
+    /// <summary>
+    /// Enumeration for texture types.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum TextureType
     {
-        /// <summary>
-        /// Enumeration for texture types.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TextureType
-        {
-                /// <summary>
-                /// One 2D image
-                /// </summary>
-                /// <since_tizen> 3 </since_tizen>
-                Texture2D = Tizen.NUI.TextureType.TEXTURE_2D,
-                /// <summary>
-                /// Six 2D images arranged in a cube-shape
-                /// </summary>
-                /// <since_tizen> 3 </since_tizen>
-                TextureCube = Tizen.NUI.TextureType.TEXTURE_CUBE
-        }
+            /// <summary>
+            /// One 2D image
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Texture2D = Tizen.NUI.TextureType.TEXTURE_2D,
+            /// <summary>
+            /// Six 2D images arranged in a cube-shape
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TextureCube = Tizen.NUI.TextureType.TEXTURE_CUBE
+    }
+
+    /// <summary>
+    /// Enumeration for stereoscopic view modes.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum ViewMode
+    {
+            /// <summary>
+            /// Monoscopic (single camera). This is the default.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Mono = Tizen.NUI.ViewMode.MONO,
+            /// <summary>
+            /// Stereoscopic. Frame buffer is split horizontally with the left and right camera views in their respective sides.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            StereoHorizontal = Tizen.NUI.ViewMode.STEREO_HORIZONTAL,
+            /// <summary>
+            /// Stereoscopic. Frame buffer is split vertically with the left camera view at the top and the right camera view at the bottom.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            StereoVertical = Tizen.NUI.ViewMode.STEREO_VERTICAL,
+            /// <summary>
+            /// Stereoscopic. Left/Right camera views are rendered into the framebuffer on alternate frames.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            StereoInterlaced = Tizen.NUI.ViewMode.STEREO_INTERLACED
+    }
 
         /// <summary>
         /// Enumeration for the direction
@@ -66,6 +94,8 @@ namespace Tizen.NUI
             }
         }
 
+
+
         /// <summary>
         /// ToolTip
         /// </summary>
index e16ff0a..cde10b2 100755 (executable)
@@ -39,9 +39,9 @@ namespace Tizen.NUI
         {
             if(_isCalled == false)
             {
-               _disposeQueueProcessDisposablesDelegate = new EventThreadCallback.CallbackDelegate(ProcessDisposables);
-                _eventThreadCallback = new EventThreadCallback(_disposeQueueProcessDisposablesDelegate);
-               _isCalled = true;
+            _disposeQueueProcessDisposablesDelegate = new EventThreadCallback.CallbackDelegate(ProcessDisposables);
+            _eventThreadCallback = new EventThreadCallback(_disposeQueueProcessDisposablesDelegate);
+                _isCalled = true;
             }
         }
 
@@ -58,7 +58,7 @@ namespace Tizen.NUI
             }
         }
 
-        public void ProcessDisposables()
+        internal void ProcessDisposables()
         {
             lock (_listLock)
             {
index eb5a76d..49f158f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -70,7 +70,7 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        public new Tizen.NUI.PropertyArray Layout
+        public Tizen.NUI.PropertyArray Layout
         {
             get
             {
index 820fac8..771246a 100755 (executable)
@@ -178,7 +178,7 @@ namespace Tizen.NUI
         /// <param name="arg1">The first value to pass to callbacks</param>
         /// <param name="arg2">The second value to pass to callbacks</param>
         /// <returns>The value returned by the last callback, or a default constructed value if no callbacks are connected</returns>
-        /// <since_tizen> 5 </since_tizen>
+        /// <since_tizen> 4 </since_tizen>
         public InputMethodContext.CallbackData Emit(InputMethodContext arg1, InputMethodContext.EventData arg2)
         {
             InputMethodContext.CallbackData ret = new InputMethodContext.CallbackData(NDalicManualPINVOKE.KeyboardEventSignalType_Emit(swigCPtr, InputMethodContext.getCPtr(arg1), InputMethodContext.EventData.getCPtr(arg2)), true);
index 050d26a..784ffaf 100755 (executable)
@@ -178,7 +178,7 @@ namespace Tizen.NUI
         /// Connects a member function.
         /// </summary>
         /// <param name="arg">The member function to connect</param>
-        /// <since_tizen> 5 </since_tizen>
+        /// <since_tizen> 4 </since_tizen>
         public void Emit(InputMethodContext.KeyboardType arg)
         {
             NDalicManualPINVOKE.KeyboardTypeSignalType_Emit(swigCPtr, (int)arg);
index 7fae234..ae8fcd3 100755 (executable)
@@ -1,18 +1,18 @@
-/* Copyright (c) 2018 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.
- *
- */
+/** Copyright (c) 2018 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
 using System.ComponentModel;
 
 namespace Tizen.NUI
@@ -35,7 +35,7 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        protected override void Dispose(DisposeTypes type)
+        protected virtual void Dispose(DisposeTypes type)
         {
             if (disposed)
             {
index 42355a7..904c237 100755 (executable)
@@ -1,18 +1,18 @@
-/* Copyright (c) 2018 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.
- *
- */
+/** Copyright (c) 2018 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
 using System.ComponentModel;
 
 namespace Tizen.NUI
@@ -37,7 +37,7 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        protected override void Dispose(DisposeTypes type)
+        protected virtual void Dispose(DisposeTypes type)
         {
             if (disposed)
             {
@@ -165,7 +165,7 @@ namespace Tizen.NUI
             CHILD_PROPERTY_END_INDEX = PropertyRanges.CHILD_PROPERTY_REGISTRATION_START_INDEX + 1000
         }
 
-        internal new class ChildProperty
+        internal class ChildProperty
         {
             internal static readonly int FLEX = LayoutPINVOKE.FlexLayout_ChildProperty_FLEX_get();
             internal static readonly int ALIGN_SELF = LayoutPINVOKE.FlexLayout_ChildProperty_ALIGN_SELF_get();
index fee9c62..67a6375 100755 (executable)
@@ -1,18 +1,18 @@
-/* Copyright (c) 2018 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.
-.*
-.*/
+/** Copyright (c) 2018 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
 
 using System.ComponentModel;
 
index 514539e..a30d7d0 100755 (executable)
@@ -85,17 +85,17 @@ namespace Tizen.NUI
         protected override void OnMeasure(LayoutMeasureSpec widthMeasureSpec, LayoutMeasureSpec heightMeasureSpec)
         {
             Log.Info("NUI", "OnMeasure\n");
-            LayoutLength childWidth  = new LayoutLength( 0 );
-            LayoutLength childHeight =  new LayoutLength( 0 );
+            LayoutLength childWidth = new LayoutLength(0);
+            LayoutLength childHeight = new LayoutLength(0);
 
             LayoutLength measuredWidth = childWidth;
             LayoutLength measuredHeight = childHeight;
 
             for (uint i = 0; i < ChildCount; ++i)
             {
-                var childLayout = GetChildAt( i );
+                var childLayout = GetChildAt(i);
 
-                if( childLayout )
+                if (childLayout)
                 {
                     MeasureChild(childLayout, widthMeasureSpec, heightMeasureSpec);
                     childWidth = childLayout.MeasuredWidth;
@@ -129,29 +129,30 @@ namespace Tizen.NUI
         protected override void OnLayout(bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom)
         {
             Log.Info("NUI", "OnLayout\n");
-            for( uint i = 0; i < ChildCount; ++i )
+
+            for (uint i = 0; i < ChildCount; ++i)
             {
-                var childLayout = GetChildAt( i );
-                if( childLayout )
+                var childLayout = GetChildAt(i);
+                if (childLayout)
                 {
                     View childOwner = childLayout.GetOwner();
 
                     // Use position if explicitly set to child otherwise will be top left.
-                    var childLeft = new LayoutLength( childOwner.Position2D.X );
-                    var childTop = new LayoutLength( childOwner.Position2D.Y );
+                    var childLeft = new LayoutLength(childOwner.Position2D.X);
+                    var childTop = new LayoutLength(childOwner.Position2D.Y);
 
                     View owner = GetOwner();
 
-                    if ( owner )
+                    if (owner)
                     {
                         // Margin and Padding only supported when child anchor point is TOP_LEFT.
-                        if ( owner.PivotPoint == PivotPoint.TopLeft || ( owner.PositionUsesPivotPoint == false ) )
+                        if (owner.PivotPoint == PivotPoint.TopLeft || (owner.PositionUsesPivotPoint == false))
                         {
-                          childLeft = childLeft + owner.Padding.Start + childOwner.Margin.Start;
-                          childTop = childTop + owner.Padding.Top + childOwner.Margin.Top;
+                            childLeft = childLeft + owner.Padding.Start + childOwner.Margin.Start;
+                            childTop = childTop + owner.Padding.Top + childOwner.Margin.Top;
                         }
                     }
-                    childLayout.Layout( childLeft, childTop, childLeft + childLayout.MeasuredWidth, childTop + childLayout.MeasuredHeight );
+                    childLayout.Layout(childLeft, childTop, childLeft + childLayout.MeasuredWidth, childTop + childLayout.MeasuredHeight);
                 }
             }
         }
@@ -161,7 +162,7 @@ namespace Tizen.NUI
         /// </summary>
         /// <param name="newSize">The new size of the layout.</param>
         /// <param name="oldSize">The old size of the layout.</param>
-        protected override void OnSizeChanged(LayoutSize newSize, LayoutSize oldSize)
+        protected virtual void OnSizeChanged(LayoutSize newSize, LayoutSize oldSize)
         {
 
         }
index 6ee5a09..288723f 100755 (executable)
@@ -68,7 +68,7 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        public new class ChildProperty
+        public class ChildProperty
         {
             public static readonly int MARGIN_SPECIFICATION = LayoutPINVOKE.LayoutGroupWrapper_ChildProperty_MARGIN_SPECIFICATION_get();
         }
old mode 100755 (executable)
new mode 100644 (file)
index cc869ac..37bb101
@@ -28,9 +28,9 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        public new delegate void OnMeasureDelegate(LayoutMeasureSpec widthMeasureSpec, LayoutMeasureSpec heightMeasureSpec);
-        public new delegate void OnLayoutDelegate(bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom);
-        public new delegate void OnSizeChangedDelegate(LayoutSize newSize, LayoutSize oldSize);
+        public delegate void OnMeasureDelegate(LayoutMeasureSpec widthMeasureSpec, LayoutMeasureSpec heightMeasureSpec);
+        public delegate void OnLayoutDelegate(bool changed, LayoutLength left, LayoutLength top, LayoutLength right, LayoutLength bottom);
+        public delegate void OnSizeChangedDelegate(LayoutSize newSize, LayoutSize oldSize);
         public delegate void OnChildAddDelegate(LayoutItemWrapperImpl child);
         public delegate void OnChildRemoveDelegate(LayoutItemWrapperImpl child);
         public delegate void DoInitializeDelegate();
@@ -39,9 +39,9 @@ namespace Tizen.NUI
         public delegate void MeasureChildDelegate(LayoutItem child, LayoutMeasureSpec parentWidthMeasureSpec, LayoutMeasureSpec parentHeightMeasureSpec);
         public delegate void MeasureChildWithMarginsDelegate(LayoutItem child, LayoutMeasureSpec parentWidthMeasureSpec, LayoutLength widthUsed, LayoutMeasureSpec parentHeightMeasureSpec, LayoutLength heightUsed);
 
-        public new OnMeasureDelegate OnMeasure;
-        public new OnLayoutDelegate OnLayout;
-        public new OnSizeChangedDelegate OnSizeChanged;
+        public OnMeasureDelegate OnMeasure;
+        public OnLayoutDelegate OnLayout;
+        public OnSizeChangedDelegate OnSizeChanged;
         public OnChildAddDelegate OnChildAdd;
         public OnChildRemoveDelegate OnChildRemove;
         public DoInitializeDelegate DoInitialize;
@@ -191,21 +191,18 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private new void SwigDirectorConnect()
+        private void SwigDirectorConnect()
         {
             base.SwigDirectorConnect();
 
             //swigDelegate0 = new SwigDelegateLayoutGroupWrapperImpl_0(SwigDirectorGetParent);
-            swigDelegate0 = null;
             swigDelegate3 = new SwigDelegateLayoutGroupWrapperImpl_3(SwigDirectorOnMeasure);
             swigDelegate4 = new SwigDelegateLayoutGroupWrapperImpl_4(SwigDirectorOnLayout);
             swigDelegate5 = new SwigDelegateLayoutGroupWrapperImpl_5(SwigDirectorOnSizeChanged);
-            swigDelegate6 = null;
             swigDelegate7 = new SwigDelegateLayoutGroupWrapperImpl_7(SwigDirectorOnChildAdd);
             swigDelegate8 = new SwigDelegateLayoutGroupWrapperImpl_8(SwigDirectorOnChildRemove);
             swigDelegate9 = new SwigDelegateLayoutGroupWrapperImpl_9(SwigDirectorDoInitialize);
             swigDelegate10 = new SwigDelegateLayoutGroupWrapperImpl_10(SwigDirectorDoRegisterChildProperties);
-            swigDelegate11 = null;
             swigDelegate12 = new SwigDelegateLayoutGroupWrapperImpl_12(SwigDirectorMeasureChildren);
             swigDelegate13 = new SwigDelegateLayoutGroupWrapperImpl_13(SwigDirectorMeasureChild);
             swigDelegate14 = new SwigDelegateLayoutGroupWrapperImpl_14(SwigDirectorMeasureChildWithMargins);
old mode 100755 (executable)
new mode 100644 (file)
index e347ef4..29c4f68
@@ -258,13 +258,9 @@ namespace Tizen.NUI
         protected void SwigDirectorConnect()
         {
             //swigDelegate0 = new SwigDelegateLayoutItemWrapperImpl_0(SwigDirectorGetParent);
-            swigDelegate0 = null;
-            swigDelegate1 = null;
-            swigDelegate2 = null;
             swigDelegate3 = new SwigDelegateLayoutItemWrapperImpl_3(SwigDirectorOnMeasure);
             swigDelegate4 = new SwigDelegateLayoutItemWrapperImpl_4(SwigDirectorOnLayout);
             swigDelegate5 = new SwigDelegateLayoutItemWrapperImpl_5(SwigDirectorOnSizeChanged);
-            swigDelegate6 = null;
 
             LayoutPINVOKE.LayoutItemWrapperImpl_director_connect(swigCPtr, swigDelegate0, swigDelegate1, swigDelegate2, swigDelegate3, swigDelegate4, swigDelegate5, swigDelegate6);
         }
index e9098c2..422aa43 100755 (executable)
@@ -169,32 +169,6 @@ namespace Tizen.NUI
             return !r1.EqualTo(r2);
         }
 
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            LayoutLength layoutLength = obj as LayoutLength;
-            bool equal = false;
-            if (Value == layoutLength?.Value)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this LayoutLength.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
         private bool EqualTo(LayoutLength rhs)
         {
             bool ret = LayoutPINVOKE.LayoutLength_EqualTo__SWIG_0(swigCPtr, LayoutLength.getCPtr(rhs));
index 60f4214..9b9408a 100755 (executable)
@@ -81,32 +81,6 @@ namespace Tizen.NUI
             return !r1.EqualTo(r2);
         }
 
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(object obj)
-        {
-            LayoutMeasureSpec layoutMeasureSpec = obj as LayoutMeasureSpec;
-            bool equal = false;
-            if (Size == layoutMeasureSpec?.Size && Mode == layoutMeasureSpec?.Mode)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this LayoutMeasureSpec.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
         private bool EqualTo(LayoutMeasureSpec value)
         {
             bool ret = LayoutPINVOKE.MeasureSpec_EqualTo(swigCPtr, LayoutMeasureSpec.getCPtr(value));
index 5f33344..3930f1a 100755 (executable)
@@ -1,18 +1,18 @@
-/* Copyright (c) 2018 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.
- *
- */
+/** Copyright (c) 2018 Samsung Electronics Co., Ltd.
+*
+* Licensed under the Apache License, Version 2.0 (the "License");
+* you may not use this file except in compliance with the License.
+* You may obtain a copy of the License at
+*
+* http://www.apache.org/licenses/LICENSE-2.0
+*
+* Unless required by applicable law or agreed to in writing, software
+* distributed under the License is distributed on an "AS IS" BASIS,
+* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+* See the License for the specific language governing permissions and
+* limitations under the License.
+*
+*/
 using System.ComponentModel;
 
 namespace Tizen.NUI
@@ -64,7 +64,7 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        internal static new class ChildProperty
+        internal static class ChildProperty
         {
             internal static readonly int WEIGHT = LayoutPINVOKE.LinearLayout_ChildProperty_WEIGHT_get();
         }
@@ -73,7 +73,7 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        public static LinearLayout DownCast(BaseHandle handle)
+        public new static LinearLayout DownCast(BaseHandle handle)
         {
             LinearLayout ret = new LinearLayout(LayoutPINVOKE.LinearLayout_DownCast(BaseHandle.getCPtr(handle)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
index 84cafc3..f3bebb0 100755 (executable)
@@ -128,35 +128,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(object obj)
-        {
-            MeasuredSize measuredSize = obj as MeasuredSize;
-            bool equal = false;
-            if ( measuredSize != null )
-            {
-              if ( Size == measuredSize.Size && State == measuredSize.State)
-              {
-                  equal = true;
-              }
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this MeasuredSize.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
         private bool EqualTo(MeasuredSize value)
         {
             bool ret = LayoutPINVOKE.MeasuredSize_EqualTo(swigCPtr, MeasuredSize.getCPtr(value));
@@ -171,6 +142,16 @@ namespace Tizen.NUI
             return ret;
         }
 
+        public static bool operator ==(MeasuredSize r1, MeasuredSize r2)
+        {
+            return r1.EqualTo(r2);
+        }
+
+        public static bool operator !=(MeasuredSize r1, MeasuredSize r2)
+        {
+            return r1.NotEqualTo(r2);
+        }
+
         public MeasuredSize.StateType State
         {
             get
index 94a86c0..8d51bef 100644 (file)
@@ -6478,6 +6478,42 @@ namespace Tizen.NUI
             }
         }
 
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetViewMode")]
+        public static extern void Adaptor_SetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetViewMode")]
+        public static extern void Adaptor_SetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        public static void Adaptor_SetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                Adaptor_SetViewMode_vulkan(jarg1, jarg2);
+            }
+            else
+            {
+                Adaptor_SetViewMode_gl(jarg1, jarg2);
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetStereoBase")]
+        public static extern void Adaptor_SetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_SetStereoBase")]
+        public static extern void Adaptor_SetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        public static void Adaptor_SetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                Adaptor_SetStereoBase_vulkan(jarg1, jarg2);
+            }
+            else
+            {
+                Adaptor_SetStereoBase_gl(jarg1, jarg2);
+            }
+        }
+
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Adaptor_ResizedSignal")]
         public static extern global::System.IntPtr Adaptor_ResizedSignal_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
@@ -10357,60 +10393,6 @@ namespace Tizen.NUI
             }
         }
 
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-
-        public static int TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-            }
-            else
-            {
-                return TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-
-        public static int TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-            }
-            else
-            {
-                return TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-            }
-        }
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-
-        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get")]
-        public static extern int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-
-        public static int TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get()
-        {
-            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
-            {
-                return TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_vulkan();
-            }
-            else
-            {
-                return TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get_gl();
-            }
-        }
-
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_ImageView_IMAGE_VISUAL_ACTION_RELOAD_get")]
         public static extern int ImageView_IMAGE_VISUAL_ACTION_RELOAD_get_gl();
 
index 5f2d12b..8e47d7d 100755 (executable)
@@ -205,29 +205,6 @@ namespace Tizen.NUI
                                           argumentNullDelegate,
                                           argumentOutOfRangeDelegate);
             }
-
-            //Workaround for Vulkan. should be removed.
-            internal void SetAgain()
-            {
-                SWIGRegisterExceptionCallbacks_NDalic(
-                          applicationDelegate,
-                          arithmeticDelegate,
-                          divideByZeroDelegate,
-                          indexOutOfRangeDelegate,
-                          invalidCastDelegate,
-                          invalidOperationDelegate,
-                          ioDelegate,
-                          nullReferenceDelegate,
-                          outOfMemoryDelegate,
-                          overflowDelegate,
-                          systemDelegate);
-
-                SWIGRegisterExceptionCallbacksArgument_NDalic(
-                                          argumentDelegate,
-                                          argumentNullDelegate,
-                                          argumentOutOfRangeDelegate);
-            }
-
         }
 
         protected static SWIGExceptionHelper swigExceptionHelper = new SWIGExceptionHelper();
@@ -319,24 +296,10 @@ namespace Tizen.NUI
             {
                 SWIGRegisterStringCallback_NDalic(stringDelegate);
             }
-
-            //Workaround for Vulkan. should be removed.
-            internal void SetAgain()
-            {
-                SWIGRegisterStringCallback_NDalic(stringDelegate);
-            }
         }
 
         static protected SWIGStringHelper swigStringHelper = new SWIGStringHelper();
 
-        //Workaround for Vulkan. should be removed.
-        internal static void SetAgainExceptionHelperAndStringHelper()
-        {
-            swigExceptionHelper.SetAgain();
-            swigStringHelper.SetAgain();
-            Tizen.Log.Error("NUI", $"[NOT ERROR] SetAgainExceptionHelperAndStringHelper()");
-        }
-
 
         static NDalicPINVOKE()
         {
@@ -37210,6 +37173,78 @@ namespace Tizen.NUI
             }
         }
 
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetViewMode")]
+        public static extern void Application_SetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetViewMode")]
+        public static extern void Application_SetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2);
+
+        public static void Application_SetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1, int jarg2)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                Application_SetViewMode_vulkan(jarg1, jarg2);
+            }
+            else
+            {
+                Application_SetViewMode_gl(jarg1, jarg2);
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetViewMode")]
+        public static extern int Application_GetViewMode_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetViewMode")]
+        public static extern int Application_GetViewMode_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        public static int Application_GetViewMode(global::System.Runtime.InteropServices.HandleRef jarg1)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                return Application_GetViewMode_vulkan(jarg1);
+            }
+            else
+            {
+                return Application_GetViewMode_gl(jarg1);
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetStereoBase")]
+        public static extern void Application_SetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_SetStereoBase")]
+        public static extern void Application_SetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2);
+
+        public static void Application_SetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1, float jarg2)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                Application_SetStereoBase_vulkan(jarg1, jarg2);
+            }
+            else
+            {
+                Application_SetStereoBase_gl(jarg1, jarg2);
+            }
+        }
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetStereoBase")]
+        public static extern float Application_GetStereoBase_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        [global::System.Runtime.InteropServices.DllImport(Graphics.VulkanCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetStereoBase")]
+        public static extern float Application_GetStereoBase_vulkan(global::System.Runtime.InteropServices.HandleRef jarg1);
+
+        public static float Application_GetStereoBase(global::System.Runtime.InteropServices.HandleRef jarg1)
+        {
+            if (Tizen.NUI.Graphics.Backend == Tizen.NUI.Graphics.BackendType.Vulkan)
+            {
+                return Application_GetStereoBase_vulkan(jarg1);
+            }
+            else
+            {
+                return Application_GetStereoBase_gl(jarg1);
+            }
+        }
+
         [global::System.Runtime.InteropServices.DllImport(Graphics.GlesCSharpBinder, EntryPoint = "CSharp_Dali_Application_GetLanguage")]
         public static extern string Application_GetLanguage_gl(global::System.Runtime.InteropServices.HandleRef jarg1);
 
index 94000db..f7c31ac 100755 (executable)
@@ -147,7 +147,9 @@ namespace Tizen.NUI
             _application.AppControl += OnAppControl;
 
             _application.MainLoop();
+
             _application.Dispose();
+
         }
 
         /// <summary>
index 5326936..cc597b5 100755 (executable)
@@ -65,7 +65,7 @@ namespace Tizen.NUI
         }
 
         //[Conditional("DEBUG_ON")]
-        static internal void PrintDaliNativeVersion()
+        static private void PrintDaliNativeVersion()
         {
             int ver1 = -1;
             int ver2 = -1;
diff --git a/src/Tizen.NUI/src/internal/ViewMode.cs b/src/Tizen.NUI/src/internal/ViewMode.cs
new file mode 100755 (executable)
index 0000000..c41173c
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright(c) 2017 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
+{
+
+    internal enum ViewMode
+    {
+        MONO,
+        STEREO_HORIZONTAL,
+        STEREO_VERTICAL,
+        STEREO_INTERLACED
+    }
+
+}
index fbd378a..921573e 100755 (executable)
@@ -212,7 +212,7 @@ namespace Tizen.NUI
             e.Application = this;
             e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime);
 
-            _timeTickEventHandler?.Invoke(this, e);
+                _timeTickEventHandler?.Invoke(this, e);
 
         }
 
@@ -288,8 +288,8 @@ namespace Tizen.NUI
 
             e.Application = this;
             e.WatchTime = WatchTime.GetWatchTimeFromPtr(watchTime);
-            _ambientTickEventHandler?.Invoke(this, e);
-        }
+                _ambientTickEventHandler?.Invoke(this, e);
+            }
 
         internal WatchTimeSignal AmbientTickSignal()
         {
@@ -361,9 +361,9 @@ namespace Tizen.NUI
         {
             AmbientChangedEventArgs e = new AmbientChangedEventArgs();
             e.Application = this;
-            e.Changed = changed;
-            _ambientChangedEventHandler?.Invoke(this, e);
-        }
+                e.Changed = changed;
+                _ambientChangedEventHandler?.Invoke(this, e);
+            }
 
         internal WatchBoolSignal AmbientChangedSignal()
         {
index ac5c7f7..9dce2ee 100755 (executable)
@@ -9,15 +9,30 @@ namespace Tizen.NUI.Binding
 
         public DataTemplate SelectTemplate(object item, BindableObject container)
         {
+            // var listView = container as ListView;
+
+            // var recycle = listView == null ? false :
+            //         (listView.CachingStrategy & ListViewCachingStrategy.RecycleElementAndDataTemplate) ==
+            //                 ListViewCachingStrategy.RecycleElementAndDataTemplate;
+
             DataTemplate dataTemplate = null;
-            if (_dataTemplates.TryGetValue(item.GetType(), out dataTemplate))
-                return dataTemplate;
+            // if (recycle && _dataTemplates.TryGetValue(item.GetType(), out dataTemplate))
+                // return dataTemplate;
 
             dataTemplate = OnSelectTemplate(item, container);
             if (dataTemplate is DataTemplateSelector)
                 throw new NotSupportedException(
                     "DataTemplateSelector.OnSelectTemplate must not return another DataTemplateSelector");
 
+            // if (recycle)
+            // {
+            //         if (!dataTemplate.CanRecycle)
+            //                 throw new NotSupportedException(
+            //                         "RecycleElementAndDataTemplate requires DataTemplate activated with ctor taking a type.");
+
+            //         _dataTemplates[item.GetType()] = dataTemplate;
+            // }
+
             return dataTemplate;
         }
 
index a9862a9..4b15ffa 100755 (executable)
@@ -58,10 +58,11 @@ namespace Tizen.NUI.Binding
         public static readonly BindableProperty CascadeInputTransparentProperty = BindableProperty.Create(
             nameof(CascadeInputTransparent), typeof(bool), typeof(Layout), true);
 
-        public new static readonly BindableProperty PaddingProperty = PaddingElement.PaddingProperty;
+        public static readonly BindableProperty PaddingProperty = PaddingElement.PaddingProperty;
 
         static IList<KeyValuePair<Layout, int>> s_resolutionList = new List<KeyValuePair<Layout, int>>();
         static bool s_relayoutInProgress;
+        bool _allocatedFlag;
 
         bool _hasDoneLayout;
         Size _lastLayoutSize = new Size(-1, -1, 0);
@@ -125,16 +126,59 @@ namespace Tizen.NUI.Binding
 
         public void ForceLayout()
         {
+            //SizeAllocated(Width, Height);
         }
 
+        [Obsolete("OnSizeRequest is obsolete as of version 2.2.0. Please use OnMeasure instead.")]
+        // public sealed override SizeRequest GetSizeRequest(double widthConstraint, double heightConstraint)
+        // {
+        //     SizeRequest size = base.GetSizeRequest(widthConstraint - Padding.HorizontalThickness, heightConstraint - Padding.VerticalThickness);
+        //     return new SizeRequest(new Size(size.Request.Width + Padding.HorizontalThickness, size.Request.Height + Padding.VerticalThickness, 0),
+        //             new Size(size.Minimum.Width + Padding.HorizontalThickness, size.Minimum.Height + Padding.VerticalThickness, 0));
+        // }
 
-        public static void LayoutChildIntoBoundingRegion(BaseHandle child, Rectangle region)
+        public static void LayoutChildIntoBoundingRegion(/*VisualElement*/BaseHandle child, Rectangle region)
         {
+            //var parent = child.Parent as IFlowDirectionController;
+            //bool isRightToLeft = false;
+            //if (parent != null && (isRightToLeft = parent.EffectiveFlowDirection.IsRightToLeft()))
+                //region = new Rectangle(parent.Width - region.Right, region.Y, region.Width, region.Height);
+
             var view = child as View;
             if (view == null)
             {
+                //child.Layout(region);
                 return;
             }
+
+            //LayoutOptions horizontalOptions = view.HorizontalOptions;
+            // if (horizontalOptions.Alignment != LayoutAlignment.Fill)
+            // {
+            //         SizeRequest request = child.Measure(region.Width, region.Height, MeasureFlags.IncludeMargins);
+            //         double diff = Math.Max(0, region.Width - request.Request.Width);
+            //         double horizontalAlign = horizontalOptions.Alignment.ToDouble();
+            //         if (isRightToLeft)
+            //                 horizontalAlign = 1 - horizontalAlign;
+            //         region.X += (int)(diff * horizontalAlign);
+            //         region.Width -= diff;
+            // }
+
+            // LayoutOptions verticalOptions = view.VerticalOptions;
+            // if (verticalOptions.Alignment != LayoutAlignment.Fill)
+            // {
+            //         SizeRequest request = child.Measure(region.Width, region.Height, MeasureFlags.IncludeMargins);
+            //         double diff = Math.Max(0, region.Height - request.Request.Height);
+            //         region.Y += (int)(diff * verticalOptions.Alignment.ToDouble());
+            //         region.Height -= diff;
+            // }
+
+            // Thickness margin = view.Margin;
+            // region.X += margin.Left;
+            // region.Width -= margin.HorizontalThickness;
+            // region.Y += margin.Top;
+            // region.Height -= margin.VerticalThickness;
+
+            // child.Layout(region);
         }
 
         public void LowerChild(View view)
@@ -143,6 +187,7 @@ namespace Tizen.NUI.Binding
                 return;
 
             InternalChildren.Move(InternalChildren.IndexOf(view), 0);
+            // OnChildrenReordered();
         }
 
         public void RaiseChild(View view)
@@ -151,11 +196,13 @@ namespace Tizen.NUI.Binding
                 return;
 
             InternalChildren.Move(InternalChildren.IndexOf(view), InternalChildren.Count - 1);
+            // OnChildrenReordered();
         }
 
         protected virtual void InvalidateLayout()
         {
             _hasDoneLayout = false;
+            // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
             if (!_hasDoneLayout)
                 ForceLayout();
         }
@@ -165,7 +212,7 @@ namespace Tizen.NUI.Binding
         protected void OnChildMeasureInvalidated(object sender, EventArgs e)
         {
             InvalidationTrigger trigger = (e as InvalidationEventArgs)?.Trigger ?? InvalidationTrigger.Undefined;
-            OnChildMeasureInvalidated((BaseHandle)sender, trigger);
+            OnChildMeasureInvalidated((/*VisualElement*/BaseHandle)sender, trigger);
             OnChildMeasureInvalidated();
         }
 
@@ -173,6 +220,13 @@ namespace Tizen.NUI.Binding
         {
         }
 
+        // protected override void OnSizeAllocated(double width, double height)
+        // {
+        //     _allocatedFlag = true;
+        //     base.OnSizeAllocated(width, height);
+        //     UpdateChildrenLayout();
+        // }
+
         protected virtual bool ShouldInvalidateOnChildAdded(View child)
         {
             return true;
@@ -190,33 +244,118 @@ namespace Tizen.NUI.Binding
             if (!ShouldLayoutChildren())
                 return;
 
-            LayoutChanged?.Invoke(this, EventArgs.Empty);
+            var oldBounds = new Rectangle[LogicalChildrenInternal.Count];
+            for (var index = 0; index < oldBounds.Length; index++)
+            {
+                var c = (/*VisualElement*/BaseHandle)LogicalChildrenInternal[index];
+                // oldBounds[index] = c.Bounds;
+            }
+
+            // double width = Width;
+            // double height = Height;
+
+            // double x = Padding.Left;
+            // double y = Padding.Top;
+            // double w = Math.Max(0, width - Padding.HorizontalThickness);
+            // double h = Math.Max(0, height - Padding.VerticalThickness);
+
+            // var isHeadless = CompressedLayout.GetIsHeadless(this);
+            // var headlessOffset = CompressedLayout.GetHeadlessOffset(this);
+            // for (var i = 0; i < LogicalChildrenInternal.Count; i++)
+            //         CompressedLayout.SetHeadlessOffset((/*VisualElement*/BaseHandle)LogicalChildrenInternal[i], isHeadless ? new Point(headlessOffset.X + Bounds.X, headlessOffset.Y + Bounds.Y) : new Point());
+
+            // LayoutChildren(x, y, w, h);
+
+            // for (var i = 0; i < oldBounds.Length; i++)
+            // {
+            //         Rectangle oldBound = oldBounds[i];
+            //         Rectangle newBound = ((/*VisualElement*/BaseHandle)LogicalChildrenInternal[i]).Bounds;
+            //         if (oldBound != newBound)
+            //         {
+            //                 LayoutChanged?.Invoke(this, EventArgs.Empty);
+            //                 return;
+            //         }
+            // }
+
+            // _lastLayoutSize = new Size((float)width, (float)height, 0);
         }
 
         internal static void LayoutChildIntoBoundingRegion(View child, Rectangle region, SizeRequest childSizeRequest)
         {
+            // var parent = child.Parent as IFlowDirectionController;
+            // bool isRightToLeft = false;
+            // if (parent != null && (isRightToLeft = parent.EffectiveFlowDirection.IsRightToLeft()))
+            //         region = new Rectangle(parent.Width - region.Right, region.Y, region.Width, region.Height);
+
+            // if (region.Size != childSizeRequest.Request)
+            // {
+            //         bool canUseAlreadyDoneRequest = region.Width >= childSizeRequest.Request.Width && region.Height >= childSizeRequest.Request.Height;
+
+            //         LayoutOptions horizontalOptions = child.HorizontalOptions;
+            //         if (horizontalOptions.Alignment != LayoutAlignment.Fill)
+            //         {
+            //                 SizeRequest request = canUseAlreadyDoneRequest ? childSizeRequest : child.Measure(region.Width, region.Height, MeasureFlags.IncludeMargins);
+            //                 double diff = Math.Max(0, region.Width - request.Request.Width);
+            //                 double horizontalAlign = horizontalOptions.Alignment.ToDouble();
+            //                 if (isRightToLeft)
+            //                         horizontalAlign = 1 - horizontalAlign;
+            //                 region.X += (int)(diff * horizontalAlign);
+            //                 region.Width -= diff;
+            //         }
+
+            //         LayoutOptions verticalOptions = child.VerticalOptions;
+            //         if (verticalOptions.Alignment != LayoutAlignment.Fill)
+            //         {
+            //                 SizeRequest request = canUseAlreadyDoneRequest ? childSizeRequest : child.Measure(region.Width, region.Height, MeasureFlags.IncludeMargins);
+            //                 double diff = Math.Max(0, region.Height - request.Request.Height);
+            //                 region.Y += (int)(diff * verticalOptions.Alignment.ToDouble());
+            //                 region.Height -= diff;
+            //         }
+            // }
+
+            // Thickness margin = child.Margin;
+            // region.X += margin.Left;
+            // region.Width -= margin.HorizontalThickness;
+            // region.Y += margin.Top;
+            // region.Height -= margin.VerticalThickness;
+
+            // child.Layout(region);
         }
 
-        internal virtual void OnChildMeasureInvalidated(BaseHandle child, InvalidationTrigger trigger)
+        internal virtual void OnChildMeasureInvalidated(/*VisualElement*/BaseHandle child, InvalidationTrigger trigger)
         {
             ReadOnlyCollection<Element> children = LogicalChildrenInternal;
             int count = children.Count;
             for (var index = 0; index < count; index++)
             {
-                var v = LogicalChildrenInternal[index] as BaseHandle;
-                if (v != null)
+                var v = LogicalChildrenInternal[index] as /*VisualElement*/BaseHandle;
+                if (v != null /*&& v.IsVisible && (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
                     return;
             }
 
             var view = child as View;
             if (view != null)
             {
-                //we can ignore the request if we are either fully constrained or when the size request changes and we were already fully constrainted
-                 if ((trigger == InvalidationTrigger.MeasureChanged) ||
-                     (trigger == InvalidationTrigger.SizeRequestChanged))
-                {
-                    return;
-                }
+                // we can ignore the request if we are either fully constrained or when the size request changes and we were already fully constrainted
+                // if ((trigger == InvalidationTrigger.MeasureChanged && view.Constraint == LayoutConstraint.Fixed) ||
+                //     (trigger == InvalidationTrigger.SizeRequestChanged && view.ComputedConstraint == LayoutConstraint.Fixed))
+                // {
+                //     return;
+                // }
+                // if (trigger == InvalidationTrigger.HorizontalOptionsChanged || trigger == InvalidationTrigger.VerticalOptionsChanged)
+                // {
+                //     ComputeConstraintForView(view);
+                // }
+            }
+
+            _allocatedFlag = false;
+            if (trigger == InvalidationTrigger.RendererReady)
+            {
+                // InvalidateMeasureInternal(InvalidationTrigger.RendererReady);
+            }
+            else
+            {
+                // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
             }
 
             s_resolutionList.Add(new KeyValuePair<Layout, int>(this, GetElementDepth(this)));
@@ -229,10 +368,32 @@ namespace Tizen.NUI.Binding
                     IList<KeyValuePair<Layout, int>> copy = s_resolutionList;
                     s_resolutionList = new List<KeyValuePair<Layout, int>>();
                     s_relayoutInProgress = false;
+
+                    foreach (KeyValuePair<Layout, int> kvp in copy.OrderBy(kvp => kvp.Value))
+                    {
+                        Layout layout = kvp.Key;
+                        // double width = layout.Width, height = layout.Height;
+                        // if (!layout._allocatedFlag && width >= 0 && height >= 0)
+                        // {
+                        //     layout.SizeAllocated(width, height);
+                        // }
+                    }
                 });
             }
         }
 
+        // internal override void OnIsVisibleChanged(bool oldValue, bool newValue)
+        // {
+        //     base.OnIsVisibleChanged(oldValue, newValue);
+        //     if (newValue)
+        //     {
+        //             if (_lastLayoutSize != new Size(Width, Height))
+        //             {
+        //                     UpdateChildrenLayout();
+        //             }
+        //     }
+        // }
+
         static int GetElementDepth(Element view)
         {
             var result = 0;
@@ -281,16 +442,20 @@ namespace Tizen.NUI.Binding
 
         void OnInternalAdded(View view)
         {
-            var parent = view.GetParent() as Layout;
+            var parent = view.Parent as Layout;
             parent?.InternalChildren.Remove(view);
 
             OnChildAdded(view);
             if (ShouldInvalidateOnChildAdded(view))
                 InvalidateLayout();
+
+            // view.MeasureInvalidated += OnChildMeasureInvalidated;
         }
 
         void OnInternalRemoved(View view)
         {
+            // view.MeasureInvalidated -= OnChildMeasureInvalidated;
+
             OnChildRemoved(view);
             if (ShouldInvalidateOnChildRemoved(view))
                 InvalidateLayout();
@@ -298,15 +463,20 @@ namespace Tizen.NUI.Binding
 
         bool ShouldLayoutChildren()
         {
-            if ( !LogicalChildrenInternal.Any() )
-                return false;
-
-            foreach (Element element in VisibleDescendants())
-            {
-                var visual = element as BaseHandle;
-                if (visual == null)
-                    continue;
-            }
+            // if (Width <= 0 || Height <= 0 || !LogicalChildrenInternal.Any() || !IsVisible || !IsNativeStateConsistent || DisableLayout)
+            //         return false;
+
+            // foreach (Element element in VisibleDescendants())
+            // {
+            //         var visual = element as /*VisualElement*/BaseHandle;
+            //         if (visual == null || !visual.IsVisible)
+            //                 continue;
+
+            //         if (!visual.IsPlatformEnabled || !visual.IsNativeStateConsistent)
+            //         {
+            //                 return false;
+            //         }
+            // }
             return true;
         }
     }
index 887f0d9..f58b053 100755 (executable)
@@ -242,6 +242,11 @@ namespace Tizen.NUI
         public event EventHandler<NavigationEventArgs> Popped;
 
         /// <summary>
+        /// Event that is raised when the last nonroot element is popped from this NavigationPage element.
+        /// </summary>
+        public event EventHandler<NavigationEventArgs> PoppedToRoot;
+
+        /// <summary>
         /// Pops all but the root Page off the navigation stack.
         /// </summary>
         /// <returns>A task that represents the asynchronous dismiss operation.</returns>
index 0b33234..d93517a 100755 (executable)
@@ -13,10 +13,19 @@ namespace Tizen.NUI.Binding
             if (element.RealParent is Application)
                 return null;
 
+            var skipCount = 0;
             element = await GetRealParentAsync(element);
             while (!Application.IsApplicationOrNull(element))
             {
                 var controlTemplated = element as IControlTemplated;
+                //if (controlTemplated?.ControlTemplate != null)
+                //{
+                //  if (skipCount == 0)
+                //      return element;
+                //  skipCount--;
+                //}
+                //  if (element is ContentPresenter)
+                //      skipCount++;
                 element = await GetRealParentAsync(element);
             }
 
@@ -48,9 +57,23 @@ namespace Tizen.NUI.Binding
         {
             var self = (IControlTemplated)bindable;
             var newElement = (Element)newValue;
-            var oldElement = (Element)oldValue;
-            if (newElement == oldElement)
-                return;
+            //if (self.ControlTemplate == null)
+            //{
+            //  while (self.InternalChildren.Count > 0)
+            //  {
+            //      self.InternalChildren.RemoveAt(self.InternalChildren.Count - 1);
+            //  }
+
+            //  if (newValue != null)
+            //      self.InternalChildren.Add(newElement);
+            //}
+            //else
+            //{
+            //  if (newElement != null)
+            //  {
+            //      BindableObject.SetInheritedBindingContext(newElement, bindable.BindingContext);
+            //  }
+            //}
         }
 
         public static void OnControlTemplateChanged(BindableObject bindable, object oldValue, object newValue)
@@ -71,7 +94,12 @@ namespace Tizen.NUI.Binding
                     {
                         Element child = children[i];
                         var controlTemplated = child as IControlTemplated;
-                        queue.Enqueue(child);
+
+                        // var presenter = child as ContentPresenter;
+                        // if (presenter != null)
+                        //     presenter.Clear();
+                        // else if (controlTemplated == null || controlTemplated.ControlTemplate == null)
+                        //     queue.Enqueue(child);
                     }
                 }
             }
@@ -81,6 +109,23 @@ namespace Tizen.NUI.Binding
             {
                 self.InternalChildren.RemoveAt(self.InternalChildren.Count - 1);
             }
+
+            //ControlTemplate template = self.ControlTemplate;
+            //if (template == null)
+            //{
+            //  // do nothing for now
+            //}
+            //else
+            //{
+            //  var content = template.CreateContent() as View;
+            //  if (content == null)
+            //  {
+            //      throw new NotSupportedException("ControlTemplate must return a type derived from View.");
+            //  }
+
+            //  self.InternalChildren.Add(content);
+            //  ((IControlTemplated)bindable).OnControlTemplateChanged((ControlTemplate)oldValue, (ControlTemplate)newValue);
+            //}
         }
     }
 }
index 4d1ecc3..10add14 100755 (executable)
@@ -78,7 +78,7 @@ namespace Tizen.NUI.Binding
                 }
             }
 
-            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(RelativeVector2)}");
+            throw new InvalidOperationException("Cannot convert \"{value}\" into {typeof(RelativeVector2)}");
         }
     }
 
index eac66d5..cd11f18 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -39,113 +39,40 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class Adaptor : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected bool disposed = false;
-
-        private static readonly Adaptor instance = Adaptor.Get();
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        private EventHandler<ResizedEventArgs> _resizedEventHandler;
-        private ResizedCallbackDelegate _resizedCallbackDelegate;
-
-        private EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
-        private LanguageChangedCallbackDelegate _languageChangedCallbackDelegate;
-
         internal Adaptor(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
             swigCMemOwn = cMemoryOwn;
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Adaptor()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ResizedCallbackDelegate(IntPtr adaptor);
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void LanguageChangedCallbackDelegate(IntPtr adaptor);
-
-        /// <summary>
-        /// An event for the Resized signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The Resized signal is emitted when the size changes.<br />
-        /// </summary>
-        internal event EventHandler<ResizedEventArgs> Resized
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Adaptor obj)
         {
-            add
-            {
-                if (_resizedEventHandler == null)
-                {
-                    _resizedCallbackDelegate = (OnResized);
-                    ResizedSignal().Connect(_resizedCallbackDelegate);
-                }
-                _resizedEventHandler += value;
-            }
-            remove
-            {
-                _resizedEventHandler -= value;
-                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
-                {
-                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
-                }
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// An event for LanguageChanged signal which can be used to subscribe or unsubscribe the event handler
-        /// provided by the user. The LanguageChanged signal is emitted when the language changes.<br />
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        internal event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
-                {
-                    _languageChangedCallbackDelegate = (OnLanguageChanged);
-                    LanguageChangedSignal().Connect(_languageChangedCallbackDelegate);
-                }
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
-                if (_languageChangedEventHandler == null && LanguageChangedSignal().Empty() == false)
-                {
-                    LanguageChangedSignal().Disconnect(_languageChangedCallbackDelegate);
-                }
-            }
-        }
+        /// <since_tizen> 4 </since_tizen>
+        protected bool disposed = false;
 
         /// <summary>
-        /// Returns a reference to the instance of the adaptor used by the current thread.
+        /// Dispose.
         /// </summary>
-        /// <remarks>The adaptor has been initialized. This is only valid in the main thread.</remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public static Adaptor Instance
+        /// <since_tizen> 3 </since_tizen>
+        ~Adaptor()
         {
-            get
+            if (!isDisposeQueued)
             {
-                return instance;
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
         }
 
@@ -170,30 +97,36 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Feeds a wheel event to the adaptor.
+        /// Dispose.
         /// </summary>
-        /// <param name="wheelEvent">The wheel event.</param>
         /// <since_tizen> 4 </since_tizen>
-        public void FeedWheelEvent(Wheel wheelEvent)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            NDalicManualPINVOKE.Adaptor_FeedWheelEvent(swigCPtr, Wheel.getCPtr(wheelEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            if (disposed)
+            {
+                return;
+            }
 
-        /// <summary>
-        /// Feeds a key event to the adaptor.
-        /// </summary>
-        /// <param name="keyEvent">The key event holding the key information.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void FeedKeyEvent(Key keyEvent)
-        {
-            NDalicManualPINVOKE.Adaptor_FeedKeyEvent(swigCPtr, Key.getCPtr(keyEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Adaptor obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                swigCMemOwn = false;
+                NDalicManualPINVOKE.delete_Adaptor(swigCPtr);
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
         internal static Adaptor GetAdaptorFromPtr(global::System.IntPtr cPtr)
@@ -231,24 +164,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static Adaptor Get()
-        {
-            Adaptor ret = new Adaptor(NDalicManualPINVOKE.Adaptor_Get(), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks whether the adaptor is available.
-        /// </summary>
-        /// <returns>True if it is available, false otherwise.</returns>
-        internal static bool IsAvailable()
-        {
-            bool ret = NDalicManualPINVOKE.Adaptor_IsAvailable();
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Starts the adaptor.
         /// </summary>
@@ -358,6 +273,39 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        private static readonly Adaptor instance = Adaptor.Get();
+
+        internal static Adaptor Get()
+        {
+            Adaptor ret = new Adaptor(NDalicManualPINVOKE.Adaptor_Get(), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns a reference to the instance of the adaptor used by the current thread.
+        /// </summary>
+        /// <remarks>The adaptor has been initialized. This is only valid in the main thread.</remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public static Adaptor Instance
+        {
+            get
+            {
+                return instance;
+            }
+        }
+
+        /// <summary>
+        /// Checks whether the adaptor is available.
+        /// </summary>
+        /// <returns>True if it is available, false otherwise.</returns>
+        internal static bool IsAvailable()
+        {
+            bool ret = NDalicManualPINVOKE.Adaptor_IsAvailable();
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Calls this method to notify DALi when a scene is created and initialized.
         /// Notify the adaptor that the scene has been created.
@@ -400,6 +348,28 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Feeds a wheel event to the adaptor.
+        /// </summary>
+        /// <param name="wheelEvent">The wheel event.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void FeedWheelEvent(Wheel wheelEvent)
+        {
+            NDalicManualPINVOKE.Adaptor_FeedWheelEvent(swigCPtr, Wheel.getCPtr(wheelEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Feeds a key event to the adaptor.
+        /// </summary>
+        /// <param name="keyEvent">The key event holding the key information.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void FeedKeyEvent(Key keyEvent)
+        {
+            NDalicManualPINVOKE.Adaptor_FeedKeyEvent(swigCPtr, Key.getCPtr(keyEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
         /// Notifies core that the scene has been created.
         /// </summary>
         internal void SceneCreated()
@@ -408,51 +378,69 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal AdaptorSignalType ResizedSignal()
+        internal void SetViewMode(ViewMode viewMode)
         {
-            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
+            NDalicManualPINVOKE.Adaptor_SetViewMode(swigCPtr, (int)viewMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal AdaptorSignalType LanguageChangedSignal()
+        /// <summary>
+        /// Sets the stereo base (eye separation) for stereoscopic 3D.
+        /// The stereo base is the distance in millimetres between the eyes. Typical values are
+        /// between 50mm and 70mm. The default value is 65mm.
+        /// </summary>
+        /// <param name="stereoBase">The stereo base (eye separation) for stereoscopic 3D.</param>
+        internal void SetStereoBase(float stereoBase)
         {
-            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_LanguageChangedSignal(swigCPtr), false);
+            NDalicManualPINVOKE.Adaptor_SetStereoBase(swigCPtr, stereoBase);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Dispose.
+        /// Event arguments that passed via the Resized signal.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        internal class ResizedEventArgs : EventArgs
         {
-            if (disposed)
-            {
-                return;
-            }
 
-            if (type == DisposeTypes.Explicit)
+            /// <summary>
+            /// Adaptor - is the adaptor which has size changed.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Adaptor Adaptor
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                get;
+                set;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ResizedCallbackDelegate(IntPtr adaptor);
+        private EventHandler<ResizedEventArgs> _resizedEventHandler;
+        private ResizedCallbackDelegate _resizedCallbackDelegate;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// An event for the Resized signal which can be used to subscribe or unsubscribe the event handler
+        /// provided by the user. The Resized signal is emitted when the size changes.<br />
+        /// </summary>
+        internal event EventHandler<ResizedEventArgs> Resized
+        {
+            add
             {
-                swigCMemOwn = false;
-                NDalicManualPINVOKE.delete_Adaptor(swigCPtr);
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                if (_resizedEventHandler == null)
+                {
+                    _resizedCallbackDelegate = (OnResized);
+                    ResizedSignal().Connect(_resizedCallbackDelegate);
+                }
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
+                {
+                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
+                }
             }
-
-            disposed = true;
         }
 
         private void OnResized(IntPtr adaptor)
@@ -470,29 +458,21 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnLanguageChanged(IntPtr adaptor)
+        internal AdaptorSignalType ResizedSignal()
         {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            if (adaptor != null)
-            {
-                e.Adaptor = Adaptor.GetAdaptorFromPtr(adaptor);
-            }
-
-            if (_languageChangedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _languageChangedEventHandler(this, e);
-            }
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Event arguments that passed via the Resized signal.
+        /// Event arguments that passed via the LanguageChanged signal.
         /// </summary>
-        internal class ResizedEventArgs : EventArgs
+        internal class LanguageChangedEventArgs : EventArgs
         {
 
             /// <summary>
-            /// Adaptor - is the adaptor which has size changed.
+            /// Adaptor - is the adaptor which has language changed.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
             public Adaptor Adaptor
@@ -502,23 +482,58 @@ namespace Tizen.NUI
             }
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void LanguageChangedCallbackDelegate(IntPtr adaptor);
+        private EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+        private LanguageChangedCallbackDelegate _languageChangedCallbackDelegate;
+
         /// <summary>
-        /// Event arguments that passed via the LanguageChanged signal.
+        /// An event for LanguageChanged signal which can be used to subscribe or unsubscribe the event handler
+        /// provided by the user. The LanguageChanged signal is emitted when the language changes.<br />
         /// </summary>
-        internal class LanguageChangedEventArgs : EventArgs
+        internal event EventHandler<LanguageChangedEventArgs> LanguageChanged
         {
+            add
+            {
+                if (_languageChangedEventHandler == null)
+                {
+                    _languageChangedCallbackDelegate = (OnLanguageChanged);
+                    LanguageChangedSignal().Connect(_languageChangedCallbackDelegate);
+                }
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
+                if (_languageChangedEventHandler == null && LanguageChangedSignal().Empty() == false)
+                {
+                    LanguageChangedSignal().Disconnect(_languageChangedCallbackDelegate);
+                }
+            }
+        }
 
-            /// <summary>
-            /// Adaptor - is the adaptor which has language changed.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public Adaptor Adaptor
+        private void OnLanguageChanged(IntPtr adaptor)
+        {
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            if (adaptor != null)
             {
-                get;
-                set;
+                e.Adaptor = Adaptor.GetAdaptorFromPtr(adaptor);
+            }
+
+            if (_languageChangedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _languageChangedEventHandler(this, e);
             }
         }
 
+        internal AdaptorSignalType LanguageChangedSignal()
+        {
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_LanguageChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
     }
 
 }
\ No newline at end of file
index 1394a26..f1e3178 100755 (executable)
@@ -26,18 +26,98 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class AlphaFunction : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
+
+        internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~AlphaFunction()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+        /// <summary>
+        /// To make the AlphaFunction instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// To make the AlphaFunction instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
 
         /// <summary>
         /// The constructor.<br />
@@ -71,6 +151,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// The constructor.<br />
         /// Creates a bezier alpha function. The bezier will have the first point at (0,0) and the end point at (1,1).<br />
@@ -84,28 +169,52 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// Retrives the control points of the alpha function.<br />
+        /// </summary>
+        /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve.</param>
+        /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void GetBezierControlPoints(out Vector2 controlPoint0, out Vector2 controlPoint1)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            controlPoint0 = new Vector2(ret.X, ret.Y);
+            controlPoint1 = new Vector2(ret.Z, ret.W);
         }
 
-        internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
+        internal SWIGTYPE_p_f_float__float GetCustomFunction()
         {
+            global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
+            SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Dispose.
+        /// Returns the built-in function used by the alpha function.<br />
+        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT.<br />
         /// </summary>
+        /// <returns>One of the built-in alpha functions.</returns>
         /// <since_tizen> 3 </since_tizen>
-        ~AlphaFunction()
+        public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            AlphaFunction.BuiltinFunctions ret = (AlphaFunction.BuiltinFunctions)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        ///  Returns the functioning mode of the alpha function.
+        /// </summary>
+        /// <returns>The functioning mode of the alpha function.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public AlphaFunction.Modes GetMode()
+        {
+            AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -197,74 +306,6 @@ namespace Tizen.NUI
             Bezier
         }
 
-        /// <summary>
-        /// To make the AlphaFunction instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Retrives the control points of the alpha function.<br />
-        /// </summary>
-        /// <param name="controlPoint0">A Vector2 which will be used as the first control point of the curve.</param>
-        /// <param name="controlPoint1">A Vector2 which will be used as the second control point of the curve.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void GetBezierControlPoints(out Vector2 controlPoint0, out Vector2 controlPoint1)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.AlphaFunction_GetBezierControlPoints(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            controlPoint0 = new Vector2(ret.X, ret.Y);
-            controlPoint1 = new Vector2(ret.Z, ret.W);
-        }
-
-        /// <summary>
-        /// Returns the built-in function used by the alpha function.<br />
-        /// In case no built-in function has been specified, it will return AlphaFunction::DEFAULT.<br />
-        /// </summary>
-        /// <returns>One of the built-in alpha functions.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction.BuiltinFunctions GetBuiltinFunction()
-        {
-            AlphaFunction.BuiltinFunctions ret = (AlphaFunction.BuiltinFunctions)NDalicPINVOKE.AlphaFunction_GetBuiltinFunction(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        ///  Returns the functioning mode of the alpha function.
-        /// </summary>
-        /// <returns>The functioning mode of the alpha function.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction.Modes GetMode()
-        {
-            AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(AlphaFunction obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         internal static string BuiltinToPropertyKey(BuiltinFunctions? alphaFunction)
         {
             string propertyKey = null;
@@ -273,120 +314,78 @@ namespace Tizen.NUI
                 switch (alphaFunction)
                 {
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Linear:
-                        {
-                            propertyKey = "LINEAR";
-                            break;
-                        }
+                    {
+                        propertyKey = "LINEAR";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Reverse:
-                        {
-                            propertyKey = "REVERSE";
-                            break;
-                        }
+                    {
+                        propertyKey = "REVERSE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSquare:
-                        {
-                            propertyKey = "EASE_IN_SQUARE";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_IN_SQUARE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSquare:
-                        {
-                            propertyKey = "EASE_OUT_SQUARE";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_OUT_SQUARE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseIn:
-                        {
-                            propertyKey = "EASE_IN";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_IN";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOut:
-                        {
-                            propertyKey = "EASE_OUT";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_OUT";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOut:
-                        {
-                            propertyKey = "EASE_IN_OUT";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_IN_OUT";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInSine:
-                        {
-                            propertyKey = "EASE_IN_SINE";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_IN_SINE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutSine:
-                        {
-                            propertyKey = "EASE_OUT_SINE";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_OUT_SINE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseInOutSine:
-                        {
-                            propertyKey = "EASE_IN_OUT_SINE";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_IN_OUT_SINE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Bounce:
-                        {
-                            propertyKey = "BOUNCE";
-                            break;
-                        }
+                    {
+                        propertyKey = "BOUNCE";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.Sin:
-                        {
-                            propertyKey = "SIN";
-                            break;
-                        }
+                    {
+                        propertyKey = "SIN";
+                        break;
+                    }
                     case Tizen.NUI.AlphaFunction.BuiltinFunctions.EaseOutBack:
-                        {
-                            propertyKey = "EASE_OUT_BACK";
-                            break;
-                        }
+                    {
+                        propertyKey = "EASE_OUT_BACK";
+                        break;
+                    }
                     default:
-                        {
-                            propertyKey = "DEFAULT";
-                            break;
-                        }
+                    {
+                        propertyKey = "DEFAULT";
+                        break;
+                    }
                 }
             }
             return propertyKey;
         }
-
-        internal SWIGTYPE_p_f_float__float GetCustomFunction()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.AlphaFunction_GetCustomFunction(swigCPtr);
-            SWIGTYPE_p_f_float__float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_f_float__float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// To make the AlphaFunction instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_AlphaFunction(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
     }
 }
\ No newline at end of file
index 99093e3..bbd98a7 100755 (executable)
@@ -28,33 +28,67 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal Animatable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Handle_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animatable obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Create an instance of animatable.
+        /// To make the Animatable instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Animatable() : this(NDalicPINVOKE.Handle_New(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
 
-        }
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-        internal Animatable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Handle_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Handle(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// Enumeration for Handle's capabilities that can be queried.
+        /// Create an instance of animatable.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum Capability
+        public Animatable() : this(NDalicPINVOKE.Handle_New(), true)
         {
-            /// <summary>
-            /// Some objects support dynamic property creation at run-time.
-            /// New properties are registered by calling RegisterProperty() with an unused property name.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            DYNAMIC_PROPERTIES = 0x01
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        internal uint GetPropertyCount()
+        {
+            uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -193,6 +227,13 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition)
+        {
+            PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Removes a property notification from this object.
         /// </summary>
@@ -214,25 +255,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animatable obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal uint GetPropertyCount()
-        {
-            uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal PropertyNotification AddPropertyNotification(int index, int componentIndex, PropertyCondition condition)
-        {
-            PropertyNotification ret = new PropertyNotification(NDalicPINVOKE.Handle_AddPropertyNotification__SWIG_1(swigCPtr, index, componentIndex, PropertyCondition.getCPtr(condition)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal void RemoveConstraints()
         {
             NDalicPINVOKE.Handle_RemoveConstraints__SWIG_0(swigCPtr);
@@ -246,39 +268,17 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// To make the Animatable instance be disposed.
+        /// Enumeration for Handle's capabilities that can be queried.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public enum Capability
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Handle(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            /// <summary>
+            /// Some objects support dynamic property creation at run-time.
+            /// New properties are registered by calling RegisterProperty() with an unused property name.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            DYNAMIC_PROPERTIES = 0x01
         }
 
     }
index de77c96..bb995a5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -43,19 +43,78 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Animation : BaseHandle
     {
-        private static bool? disableAnimation = null;
-
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
-        private System.IntPtr _finishedCallbackOfNative;
+        internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
 
-        private AnimationProgressReachedEventCallbackType _animationProgressReachedEventCallback;
+            _animationFinishedEventCallback = OnFinished;
+            _finishedCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_animationFinishedEventCallback);
+        }
 
-        private string[] _properties = null;
-        private string[] _destValue = null;
-        private int[] _startTime = null;
-        private int[] _endTime = null;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// To make animation instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (this != null)
+            {
+                if (_animationFinishedEventCallback != null)
+                {
+                    FinishedSignal().Disconnect(_finishedCallbackOfNative);
+                }
+
+                if (_animationProgressReachedEventCallback != null)
+                {
+
+                    ProgressReachedSignal().Disconnect(_animationProgressReachedEventCallback);
+                }
+            }
+
+            if(disposed)
+            {
+                return;
+            }
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+            else if(type == DisposeTypes.Implicit)
+            {
+
+            }
+
+            if (this != null)
+            {
+                this.Clear();
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Animation(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
 
         /// <summary>
         /// Creates an initialized animation.<br />
@@ -71,22 +130,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Animation(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Animation_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-
-            _animationFinishedEventCallback = OnFinished;
-            _finishedCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_animationFinishedEventCallback);
-        }
-
+        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void AnimationFinishedEventCallbackType(IntPtr data);
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void AnimationProgressReachedEventCallbackType(IntPtr data);
-
         private event EventHandler _animationFinishedEventHandler;
 
+        private System.IntPtr _finishedCallbackOfNative;
+
         /**
         * @brief Event for the finished signal which can be used to subscribe or unsubscribe the event handler.
         * The finished signal is emitted when an animation's animations have finished.
@@ -112,13 +162,23 @@ namespace Tizen.NUI
                 }
             }
         }
+        private void OnFinished(IntPtr data)
+        {
+            if (_animationFinishedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationFinishedEventHandler(this, null);
+            }
+        }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void AnimationProgressReachedEventCallbackType(IntPtr data);
+        private AnimationProgressReachedEventCallbackType _animationProgressReachedEventCallback;
         private event EventHandler _animationProgressReachedEventHandler;
-
         /**
-       * @brief Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.
-       * The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.
-       */
+        * @brief Event for the ProgressReached signal, which can be used to subscribe or unsubscribe the event handler.
+        * The ProgressReached signal is emitted when the animation has reached a given progress percentage, this is set in the api SetProgressNotification.
+        */
         /// <since_tizen> 3 </since_tizen>
         public event EventHandler ProgressReached
         {
@@ -142,64 +202,26 @@ namespace Tizen.NUI
                 }
             }
         }
-
-        /// <summary>
-        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum EndActions
+        private void OnProgressReached(IntPtr data)
         {
-            /// <summary>
-            /// When the animation ends, the animated property values are saved.
-            /// </summary>
-            Cancel,
-            /// <summary>
-            /// When the animation ends, the animated property values are forgotten.
-            /// </summary>
-            Discard,
-            /// <summary>
-            /// If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like cancel.
-            /// </summary>
-            StopFinal
+            if (_animationProgressReachedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationProgressReachedEventHandler(this, null);
+            }
         }
 
-        /// <summary>
-        /// Enumeration for what interpolation method to use on key-frame animations.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Interpolation
+        private float MilliSecondsToSeconds(int millisec)
         {
-            /// <summary>
-            /// Values in between key frames are interpolated using a linear polynomial. (Default)
-            /// </summary>
-            Linear,
-            /// <summary>
-            /// Values in between key frames are interpolated using a cubic polynomial.
-            /// </summary>
-            Cubic
+            return (float)millisec / 1000.0f;
         }
 
-        /// <summary>
-        /// Enumeration for what state the animation is in.
-        /// </summary>
-        /// <remarks>Calling Reset() on this class will not reset the animation. It will call the BaseHandle.Reset() which drops the object handle.</remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public enum States
+        private int SecondsToMilliSeconds(float sec)
         {
-            /// <summary>
-            /// The animation has stopped.
-            /// </summary>
-            Stopped,
-            /// <summary>
-            /// The animation is playing.
-            /// </summary>
-            Playing,
-            /// <summary>
-            /// The animation is paused.
-            /// </summary>
-            Paused
+            return (int)(sec * 1000);
         }
 
+
         /// <summary>
         /// Gets or sets the duration in milliseconds of the animation.
         /// </summary>
@@ -304,6 +326,19 @@ namespace Tizen.NUI
             }
         }
 
+
+        /// <summary>
+        /// Stops the animation.
+        /// </summary>
+        /// <param name="action">The end action can be set.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Stop(EndActions action = EndActions.Cancel)
+        {
+            SetEndAction(action);
+            NDalicPINVOKE.Animation_Stop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Gets the current loop count.<br />
         /// A value 0 indicating the current loop count when looping.<br />
@@ -427,214 +462,178 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets or sets the properties of the animation.
+        /// Animates a property value by a relative amount.<br />
         /// </summary>
-        public string[] Properties
+        /// <param name="target">The target object to animate.</param>
+        /// <param name="property">The target property to animate.</param>
+        /// <param name="relativeValue">The property value will change by this amount.</param>
+        /// <param name="alphaFunction">The alpha function to apply.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AnimateBy(View target, string property, object relativeValue, AlphaFunction alphaFunction = null)
         {
-            get
-            {
-                return _properties;
-            }
-            set
+            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
+
+            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
+            if(propertyType.Equals(PropertyType.Float))
             {
-                _properties = value;
+                System.Type type = relativeValue.GetType();
+                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
+                {
+                    int num = (int)relativeValue;
+                    relativeValue = (float)num;
+                }
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the destination value for each property of the animation.
-        /// </summary>
-        public string[] DestValue
-        {
-            get
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
+
+            if (alphaFunction != null)
             {
-                return _destValue;
+                AnimateBy(_prop, val, alphaFunction);
             }
-            set
+            else
             {
-                _destValue = value;
+                AnimateBy(_prop, val);
             }
         }
 
         /// <summary>
-        /// Gets or sets the start time for each property of the animation.
+        /// Animates a property value by a relative amount.<br />
         /// </summary>
-        public int[] StartTime
+        /// <param name="target">The target object to animate.</param>
+        /// <param name="property">The target property to animate.</param>
+        /// <param name="relativeValue">The property value will change by this amount.</param>
+        /// <param name="startTime">The start time of the animation.</param>
+        /// <param name="endTime">The end time of the animation.</param>
+        /// <param name="alphaFunction">The alpha function to apply.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AnimateBy(View target, string property, object relativeValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
         {
-            get
+            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
+
+            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
+            if(propertyType.Equals(PropertyType.Float))
             {
-                return _startTime;
+                System.Type type = relativeValue.GetType();
+                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
+                {
+                    int num = (int)relativeValue;
+                    relativeValue = (float)num;
+                }
             }
-            set
+
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
+
+            if (alphaFunction != null)
             {
-                _startTime = value;
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, alphaFunction, time);
+            }
+            else
+            {
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, time);
             }
         }
 
         /// <summary>
-        /// Gets or sets the end time for each property of the animation.
-        /// </summary>
-        public int[] EndTime
-        {
-            get
-            {
-                return _endTime;
-            }
-            set
-            {
-                _endTime = value;
-            }
-        }
-
-        private bool DisableAnimation
-        {
-            get
-            {
-                if (disableAnimation.HasValue == false)
-                {
-                    string type = Environment.GetEnvironmentVariable("PlatformSmartType");
-                    if (type == "Entry")
-                        disableAnimation = true;
-                    else
-                        disableAnimation = false;
-                }
-                return disableAnimation.Value;
-            }
-        }
-
-        /// <summary>
-        /// Downcasts a handle to animation handle.<br />
-        /// If handle points to an animation object, the downcast produces a valid handle.<br />
-        /// If not, the returned handle is left uninitialized.<br />
-        /// </summary>
-        /// <param name="handle">Handle to an object.</param>
-        /// <returns>Handle to an animation object or an uninitialized handle.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Animation DownCast(BaseHandle handle)
-        {
-            Animation ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Animation;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Stops the animation.
-        /// </summary>
-        /// <param name="action">The end action can be set.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Stop(EndActions action = EndActions.Cancel)
-        {
-            SetEndAction(action);
-            NDalicPINVOKE.Animation_Stop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Animates a property value by a relative amount.<br />
+        /// Animates a property to a destination value.<br />
         /// </summary>
         /// <param name="target">The target object to animate.</param>
         /// <param name="property">The target property to animate.</param>
-        /// <param name="relativeValue">The property value will change by this amount.</param>
+        /// <param name="destinationValue">The destination value.</param>
         /// <param name="alphaFunction">The alpha function to apply.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void AnimateBy(View target, string property, object relativeValue, AlphaFunction alphaFunction = null)
+        public void AnimateTo(View target, string property, object destinationValue, AlphaFunction alphaFunction = null)
         {
             Property _prop = PropertyHelper.GetPropertyFromString(target, property);
 
             PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if (propertyType.Equals(PropertyType.Float))
+            if(propertyType.Equals(PropertyType.Float))
             {
-                System.Type type = relativeValue.GetType();
+                System.Type type = destinationValue.GetType();
                 if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
                 {
-                    int num = (int)relativeValue;
-                    relativeValue = (float)num;
+                    int num = (int)destinationValue;
+                    destinationValue = (float)num;
                 }
             }
 
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
+            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
 
             if (alphaFunction != null)
             {
-                AnimateBy(_prop, val, alphaFunction);
+                AnimateTo(_prop, val, alphaFunction);
             }
             else
             {
-                AnimateBy(_prop, val);
+                AnimateTo(_prop, val);
             }
         }
+        private string[] _properties = null;
 
         /// <summary>
-        /// Animates a property value by a relative amount.<br />
+        /// Gets or sets the properties of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
-        /// <param name="property">The target property to animate.</param>
-        /// <param name="relativeValue">The property value will change by this amount.</param>
-        /// <param name="startTime">The start time of the animation.</param>
-        /// <param name="endTime">The end time of the animation.</param>
-        /// <param name="alphaFunction">The alpha function to apply.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AnimateBy(View target, string property, object relativeValue, int startTime, int endTime, AlphaFunction alphaFunction = null)
+        public string[] Properties
         {
-            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
-
-            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if (propertyType.Equals(PropertyType.Float))
+            get
             {
-                System.Type type = relativeValue.GetType();
-                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
-                {
-                    int num = (int)relativeValue;
-                    relativeValue = (float)num;
-                }
+                return _properties;
+            }
+            set
+            {
+                _properties = value;
             }
+        }
 
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
+        private string[] _destValue = null;
 
-            if (alphaFunction != null)
+        /// <summary>
+        /// Gets or sets the destination value for each property of the animation.
+        /// </summary>
+        public string[] DestValue
+        {
+            get
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, alphaFunction, time);
+                return _destValue;
             }
-            else
+            set
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, time);
+                _destValue = value;
             }
         }
 
+        private int[] _startTime = null;
+
         /// <summary>
-        /// Animates a property to a destination value.<br />
+        /// Gets or sets the start time for each property of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
-        /// <param name="property">The target property to animate.</param>
-        /// <param name="destinationValue">The destination value.</param>
-        /// <param name="alphaFunction">The alpha function to apply.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AnimateTo(View target, string property, object destinationValue, AlphaFunction alphaFunction = null)
+        public int[] StartTime
         {
-            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
-
-            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if (propertyType.Equals(PropertyType.Float))
+            get
             {
-                System.Type type = destinationValue.GetType();
-                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
-                {
-                    int num = (int)destinationValue;
-                    destinationValue = (float)num;
-                }
+                return _startTime;
+            }
+            set
+            {
+                _startTime = value;
             }
+        }
 
-            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
+        private int[] _endTime = null;
 
-            if (alphaFunction != null)
+        /// <summary>
+        /// Gets or sets the end time for each property of the animation.
+        /// </summary>
+        public int[] EndTime
+        {
+            get
             {
-                AnimateTo(_prop, val, alphaFunction);
+                return _endTime;
             }
-            else
+            set
             {
-                AnimateTo(_prop, val);
+                _endTime = value;
             }
         }
 
@@ -658,7 +657,7 @@ namespace Tizen.NUI
                     {
                         object destinationValue = ConvertTo(_destValue[index], propertyInfo.PropertyType);
 
-                        if (destinationValue != null)
+                        if(destinationValue != null)
                         {
                             AnimateTo(target, _properties[index], destinationValue, _startTime[index], _endTime[index]);
                         }
@@ -668,6 +667,147 @@ namespace Tizen.NUI
             }
         }
 
+        internal object ConvertTo(object value, Type toType)
+        {
+            Func<object> getConverter = () =>
+            {
+                MemberInfo memberInfo;
+
+                string converterTypeName = GetTypeConverterTypeName(toType.GetTypeInfo().CustomAttributes);
+                if (converterTypeName == null)
+                    return null;
+
+                Type convertertype = Type.GetType(converterTypeName);
+                return Activator.CreateInstance(convertertype);
+            };
+
+            return ConvertTo(value, toType, getConverter);
+        }
+
+        internal object ConvertTo(object value, Type toType, Func<object> getConverter)
+        {
+            if (value == null)
+                return null;
+
+            var str = value as string;
+            if (str != null)
+            {
+                //If there's a [TypeConverter], use it
+                object converter = getConverter?.Invoke();
+                var xfTypeConverter = converter as Tizen.NUI.Binding.TypeConverter;
+                if (xfTypeConverter != null)
+                    return value = xfTypeConverter.ConvertFromInvariantString(str);
+                var converterType = converter?.GetType();
+                if (converterType != null)
+                {
+                    var convertFromStringInvariant = converterType.GetRuntimeMethod("ConvertFromInvariantString",
+                        new[] { typeof(string) });
+                    if (convertFromStringInvariant != null)
+                        return value = convertFromStringInvariant.Invoke(converter, new object[] { str });
+                }
+
+                //If the type is nullable, as the value is not null, it's safe to assume we want the built-in conversion
+                if (toType.GetTypeInfo().IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>))
+                    toType = Nullable.GetUnderlyingType(toType);
+
+                //Obvious Built-in conversions
+                if (toType.GetTypeInfo().IsEnum)
+                    return Enum.Parse(toType, str, true);
+                if (toType == typeof(SByte))
+                    return SByte.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int16))
+                    return Int16.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int32))
+                    return Int32.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Int64))
+                    return Int64.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Byte))
+                    return Byte.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt16))
+                    return UInt16.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt32))
+                    return UInt32.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(UInt64))
+                    return UInt64.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Single))
+                    return Single.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Double))
+                    return Double.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Boolean))
+                    return Boolean.Parse(str);
+                if (toType == typeof(TimeSpan))
+                    return TimeSpan.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(DateTime))
+                    return DateTime.Parse(str, CultureInfo.InvariantCulture);
+                if (toType == typeof(Char))
+                {
+                    char c = '\0';
+                    Char.TryParse(str, out c);
+                    return c;
+                }
+                if (toType == typeof(String) && str.StartsWith("{}", StringComparison.Ordinal))
+                    return str.Substring(2);
+                if (toType == typeof(String))
+                    return value;
+                if (toType == typeof(Decimal))
+                    return Decimal.Parse(str, CultureInfo.InvariantCulture);
+            }
+
+            //if the value is not assignable and there's an implicit conversion, convert
+            if (value != null && !toType.IsAssignableFrom(value.GetType()))
+            {
+                var opImplicit = GetImplicitConversionOperator(value.GetType(), value.GetType(), toType)
+                                 ?? GetImplicitConversionOperator(toType, value.GetType(), toType);
+                //var opImplicit = value.GetType().GetImplicitConversionOperator(fromType: value.GetType(), toType: toType)
+                //                ?? toType.GetImplicitConversionOperator(fromType: value.GetType(), toType: toType);
+
+                if (opImplicit != null)
+                {
+                    value = opImplicit.Invoke(null, new[] { value });
+                    return value;
+                }
+            }
+
+            var nativeValueConverterService = DependencyService.Get<INativeValueConverterService>();
+
+            object nativeValue = null;
+            if (nativeValueConverterService != null && nativeValueConverterService.ConvertTo(value, toType, out nativeValue))
+                return nativeValue;
+
+            return value;
+        }
+
+        internal string GetTypeConverterTypeName(IEnumerable<CustomAttributeData> attributes)
+        {
+            var converterAttribute =
+                attributes.FirstOrDefault(cad => Tizen.NUI.Binding.TypeConverterAttribute.TypeConvertersType.Contains(cad.AttributeType.FullName));
+            if (converterAttribute == null)
+                return null;
+            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(string))
+                return (string)converterAttribute.ConstructorArguments[0].Value;
+            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(Type))
+                return ((Type)converterAttribute.ConstructorArguments[0].Value).AssemblyQualifiedName;
+            return null;
+        }
+
+        internal MethodInfo GetImplicitConversionOperator(Type onType, Type fromType, Type toType)
+        {
+#if NETSTANDARD1_0
+            var mi = onType.GetRuntimeMethod("op_Implicit", new[] { fromType });
+#else
+            var bindingFlags = BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy;
+            var mi = onType.GetMethod("op_Implicit", bindingFlags, null, new[] { fromType }, null);
+#endif
+            if (mi == null) return null;
+            if (!mi.IsSpecialName) return null;
+            if (!mi.IsPublic) return null;
+            if (!mi.IsStatic) return null;
+            if (!toType.IsAssignableFrom(mi.ReturnType)) return null;
+
+            return mi;
+        }
+
+
         /// <summary>
         /// Animates a property to a destination value.<br />
         /// </summary>
@@ -683,7 +823,7 @@ namespace Tizen.NUI
             Property _prop = PropertyHelper.GetPropertyFromString(target, property);
 
             PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if (propertyType.Equals(PropertyType.Float))
+            if(propertyType.Equals(PropertyType.Float))
             {
                 System.Type type = destinationValue.GetType();
                 if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
@@ -735,6 +875,7 @@ namespace Tizen.NUI
             }
         }
 
+
         /// <summary>
         /// Animates a property between keyframes.
         /// </summary>
@@ -802,241 +943,43 @@ namespace Tizen.NUI
             {
                 Animate(view, path, forward, time);
             }
-            else
-            {
-                Animate(view, path, forward, alphaFunction, time);
-            }
-        }
-
-        /// <summary>
-        /// Creates an initialized animation.<br />
-        /// The animation will not loop.<br />
-        /// The default end action is "Cancel".<br />
-        /// The default alpha function is linear.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Plays the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Play()
-        {
-            NDalicPINVOKE.Animation_Play(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            if (DisableAnimation == true)
-                Stop(EndActions.StopFinal);
-        }
-
-        /// <summary>
-        /// Plays the animation from a given point.<br />
-        /// The progress must be in the 0-1 interval or in the play range interval if defined,
-        /// otherwise, it will be ignored.<br />
-        /// </summary>
-        /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void PlayFrom(float progress)
-        {
-            NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Plays the animation after a given delay time.<br/>
-        /// The delay time is not included in the looping time.<br/>
-        /// When the delay time is a negative value, it would treat as play immediately.<br/>
-        /// </summary>
-        /// <param name="delayMilliseconds">The delay time.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void PlayAfter(int delayMilliseconds)
-        {
-            NDalicPINVOKE.Animation_PlayAfter(swigCPtr, MilliSecondsToSeconds(delayMilliseconds));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Pauses the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Pause()
-        {
-            NDalicPINVOKE.Animation_Pause(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Stops the animation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Stop()
-        {
-            NDalicPINVOKE.Animation_Stop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Clears the animation.<br />
-        /// This disconnects any objects that were being animated, effectively stopping the animation.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clear()
-        {
-            NDalicPINVOKE.Animation_Clear(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Animation obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal object ConvertTo(object value, Type toType)
-        {
-            Func<object> getConverter = () =>
-            {
-                string converterTypeName = GetTypeConverterTypeName(toType.GetTypeInfo().CustomAttributes);
-                if (converterTypeName == null)
-                    return null;
-
-                Type convertertype = Type.GetType(converterTypeName);
-                return Activator.CreateInstance(convertertype);
-            };
-
-            return ConvertTo(value, toType, getConverter);
-        }
-
-        internal object ConvertTo(object value, Type toType, Func<object> getConverter)
-        {
-            if (value == null)
-                return null;
-
-            var str = value as string;
-            if (str != null)
-            {
-                //If there's a [TypeConverter], use it
-                object converter = getConverter?.Invoke();
-                var xfTypeConverter = converter as Tizen.NUI.Binding.TypeConverter;
-                if (xfTypeConverter != null)
-                    return value = xfTypeConverter.ConvertFromInvariantString(str);
-                var converterType = converter?.GetType();
-                if (converterType != null)
-                {
-                    var convertFromStringInvariant = converterType.GetRuntimeMethod("ConvertFromInvariantString",
-                        new[] { typeof(string) });
-                    if (convertFromStringInvariant != null)
-                        return value = convertFromStringInvariant.Invoke(converter, new object[] { str });
-                }
-
-                //If the type is nullable, as the value is not null, it's safe to assume we want the built-in conversion
-                if (toType.GetTypeInfo().IsGenericType && toType.GetGenericTypeDefinition() == typeof(Nullable<>))
-                    toType = Nullable.GetUnderlyingType(toType);
-
-                //Obvious Built-in conversions
-                if (toType.GetTypeInfo().IsEnum)
-                    return Enum.Parse(toType, str, true);
-                if (toType == typeof(SByte))
-                    return SByte.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int16))
-                    return Int16.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int32))
-                    return Int32.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Int64))
-                    return Int64.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Byte))
-                    return Byte.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt16))
-                    return UInt16.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt32))
-                    return UInt32.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(UInt64))
-                    return UInt64.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Single))
-                    return Single.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Double))
-                    return Double.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Boolean))
-                    return Boolean.Parse(str);
-                if (toType == typeof(TimeSpan))
-                    return TimeSpan.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(DateTime))
-                    return DateTime.Parse(str, CultureInfo.InvariantCulture);
-                if (toType == typeof(Char))
-                {
-                    char c = '\0';
-                    Char.TryParse(str, out c);
-                    return c;
-                }
-                if (toType == typeof(String) && str.StartsWith("{}", StringComparison.Ordinal))
-                    return str.Substring(2);
-                if (toType == typeof(String))
-                    return value;
-                if (toType == typeof(Decimal))
-                    return Decimal.Parse(str, CultureInfo.InvariantCulture);
-            }
-
-            //if the value is not assignable and there's an implicit conversion, convert
-            if (value != null && !toType.IsAssignableFrom(value.GetType()))
-            {
-                var opImplicit = GetImplicitConversionOperator(value.GetType(), value.GetType(), toType)
-                                 ?? GetImplicitConversionOperator(toType, value.GetType(), toType);
-                //var opImplicit = value.GetType().GetImplicitConversionOperator(fromType: value.GetType(), toType: toType)
-                //                ?? toType.GetImplicitConversionOperator(fromType: value.GetType(), toType: toType);
-
-                if (opImplicit != null)
-                {
-                    value = opImplicit.Invoke(null, new[] { value });
-                    return value;
-                }
-            }
-
-            var nativeValueConverterService = DependencyService.Get<INativeValueConverterService>();
-
-            object nativeValue = null;
-            if (nativeValueConverterService != null && nativeValueConverterService.ConvertTo(value, toType, out nativeValue))
-                return nativeValue;
-
-            return value;
+            else
+            {
+                Animate(view, path, forward, alphaFunction, time);
+            }
         }
 
-        internal string GetTypeConverterTypeName(IEnumerable<CustomAttributeData> attributes)
+        /// <summary>
+        /// Creates an initialized animation.<br />
+        /// The animation will not loop.<br />
+        /// The default end action is "Cancel".<br />
+        /// The default alpha function is linear.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Animation() : this(NDalicPINVOKE.Animation_New(0.0f), true)
         {
-            var converterAttribute =
-                attributes.FirstOrDefault(cad => Tizen.NUI.Binding.TypeConverterAttribute.TypeConvertersType.Contains(cad.AttributeType.FullName));
-            if (converterAttribute == null)
-                return null;
-            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(string))
-                return (string)converterAttribute.ConstructorArguments[0].Value;
-            if (converterAttribute.ConstructorArguments[0].ArgumentType == typeof(Type))
-                return ((Type)converterAttribute.ConstructorArguments[0].Value).AssemblyQualifiedName;
-            return null;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal MethodInfo GetImplicitConversionOperator(Type onType, Type fromType, Type toType)
+        internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
         {
-#if NETSTANDARD1_0
-            var mi = onType.GetRuntimeMethod("op_Implicit", new[] { fromType });
-#else
-            var bindingFlags = BindingFlags.Public | BindingFlags.Static | BindingFlags.FlattenHierarchy;
-            var mi = onType.GetMethod("op_Implicit", bindingFlags, null, new[] { fromType }, null);
-#endif
-            if (mi == null) return null;
-            if (!mi.IsSpecialName) return null;
-            if (!mi.IsPublic) return null;
-            if (!mi.IsStatic) return null;
-            if (!toType.IsAssignableFrom(mi.ReturnType)) return null;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            return mi;
         }
 
-        internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
+        /// <summary>
+        /// Downcasts a handle to animation handle.<br />
+        /// If handle points to an animation object, the downcast produces a valid handle.<br />
+        /// If not, the returned handle is left uninitialized.<br />
+        /// </summary>
+        /// <param name="handle">Handle to an object.</param>
+        /// <returns>Handle to an animation object or an uninitialized handle.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Animation DownCast(BaseHandle handle)
         {
+            Animation ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as Animation;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            return ret;
         }
 
         internal Animation(Animation handle) : this(NDalicPINVOKE.new_Animation__SWIG_1(Animation.getCPtr(handle)), true)
@@ -1175,6 +1118,72 @@ namespace Tizen.NUI
             return ret;
         }
 
+        private static bool? disableAnimation = null;
+        private bool DisableAnimation
+        {
+            get
+            {
+                if (disableAnimation.HasValue == false)
+                {
+                    string type = Environment.GetEnvironmentVariable("PlatformSmartType");
+                    if (type == "Entry")
+                        disableAnimation = true;
+                    else
+                        disableAnimation = false;
+                }
+                return disableAnimation.Value;
+            }
+        }
+
+        /// <summary>
+        /// Plays the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Play()
+        {
+            NDalicPINVOKE.Animation_Play(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            if (DisableAnimation == true)
+                Stop(EndActions.StopFinal);
+        }
+
+        /// <summary>
+        /// Plays the animation from a given point.<br />
+        /// The progress must be in the 0-1 interval or in the play range interval if defined,
+        /// otherwise, it will be ignored.<br />
+        /// </summary>
+        /// <param name="progress">A value between [0,1], or between the play range if specified, from where the animation should start playing.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void PlayFrom(float progress)
+        {
+            NDalicPINVOKE.Animation_PlayFrom(swigCPtr, progress);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Plays the animation after a given delay time.<br/>
+        /// The delay time is not included in the looping time.<br/>
+        /// When the delay time is a negative value, it would treat as play immediately.<br/>
+        /// </summary>
+        /// <param name="delayMilliseconds">The delay time.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void PlayAfter(int delayMilliseconds)
+        {
+            NDalicPINVOKE.Animation_PlayAfter(swigCPtr, MilliSecondsToSeconds(delayMilliseconds));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Pauses the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Pause()
+        {
+            NDalicPINVOKE.Animation_Pause(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal Animation.States GetState()
         {
             Animation.States ret = (Animation.States)NDalicPINVOKE.Animation_GetState(swigCPtr);
@@ -1182,6 +1191,27 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Stops the animation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Stop()
+        {
+            NDalicPINVOKE.Animation_Stop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clears the animation.<br />
+        /// This disconnects any objects that were being animated, effectively stopping the animation.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Clear()
+        {
+            NDalicPINVOKE.Animation_Clear(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal AnimationSignal FinishedSignal()
         {
             AnimationSignal ret = new AnimationSignal(NDalicPINVOKE.Animation_FinishedSignal(swigCPtr), false);
@@ -1329,89 +1359,60 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// To make animation instance be disposed.
+        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (this != null)
-            {
-                if (_animationFinishedEventCallback != null)
-                {
-                    FinishedSignal().Disconnect(_finishedCallbackOfNative);
-                }
-
-                if (_animationProgressReachedEventCallback != null)
-                {
-
-                    ProgressReachedSignal().Disconnect(_animationProgressReachedEventCallback);
-                }
-            }
-
-            if(disposed)
-            {
-                return;
-            }
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-            else if(type == DisposeTypes.Implicit)
-            {
-
-            }
-
-            if (this != null)
-            {
-                this.Clear();
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Animation(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        private void OnFinished(IntPtr data)
-        {
-            if (_animationFinishedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _animationFinishedEventHandler(this, null);
-            }
-        }
-
-        private void OnProgressReached(IntPtr data)
+        public enum EndActions
         {
-            if (_animationProgressReachedEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _animationProgressReachedEventHandler(this, null);
-            }
+            /// <summary>
+            /// When the animation ends, the animated property values are saved.
+            /// </summary>
+            Cancel,
+            /// <summary>
+            /// When the animation ends, the animated property values are forgotten.
+            /// </summary>
+            Discard,
+            /// <summary>
+            /// If the animation is stopped, the animated property values are saved as if the animation had run to completion, otherwise behaves like cancel.
+            /// </summary>
+            StopFinal
         }
 
-        private float MilliSecondsToSeconds(int millisec)
+        /// <summary>
+        /// Enumeration for what interpolation method to use on key-frame animations.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum Interpolation
         {
-            return (float)millisec / 1000.0f;
+            /// <summary>
+            /// Values in between key frames are interpolated using a linear polynomial. (Default)
+            /// </summary>
+            Linear,
+            /// <summary>
+            /// Values in between key frames are interpolated using a cubic polynomial.
+            /// </summary>
+            Cubic
         }
 
-        private int SecondsToMilliSeconds(float sec)
+        /// <summary>
+        /// Enumeration for what state the animation is in.
+        /// </summary>
+        /// <remarks>Calling Reset() on this class will not reset the animation. It will call the BaseHandle.Reset() which drops the object handle.</remarks>
+        /// <since_tizen> 3 </since_tizen>
+        public enum States
         {
-            return (int)(sec * 1000);
+            /// <summary>
+            /// The animation has stopped.
+            /// </summary>
+            Stopped,
+            /// <summary>
+            /// The animation is playing.
+            /// </summary>
+            Playing,
+            /// <summary>
+            /// The animation is paused.
+            /// </summary>
+            Paused
         }
 
     }
index b3b0a9f..d90c82b 100755 (executable)
@@ -34,7 +34,7 @@ namespace Tizen.NUI.BaseComponents
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -51,7 +51,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -68,7 +68,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -85,7 +85,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -102,7 +102,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -119,7 +119,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -150,7 +150,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(ScrollThreshold), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create("ScrollThreshold", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -167,7 +167,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(ScrollSpeed), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create("ScrollSpeed", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -184,7 +184,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(PrimaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create("PrimaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -201,7 +201,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(SecondaryCursorColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create("SecondaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -218,7 +218,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(EnableCursorBlink), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create("EnableCursorBlink", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -235,7 +235,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(CursorBlinkInterval), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create("CursorBlinkInterval", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -252,7 +252,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(CursorBlinkDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create("CursorBlinkDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -269,7 +269,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(CursorWidth), typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create("CursorWidth", typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -286,7 +286,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(GrabHandleImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create("GrabHandleImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -303,7 +303,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(GrabHandlePressedImage), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create("GrabHandlePressedImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -320,7 +320,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -337,7 +337,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(SelectionHandleImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -354,7 +354,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -371,7 +371,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -388,7 +388,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -405,7 +405,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -422,7 +422,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(SelectionHighlightColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create("SelectionHighlightColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -439,7 +439,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(DecorationBoundingBox), typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create("DecorationBoundingBox", typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -456,7 +456,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -473,7 +473,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(InputColor), typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create("InputColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -490,7 +490,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(InputFontFamily), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create("InputFontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -507,7 +507,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(InputFontStyle), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create("InputFontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -524,7 +524,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(InputPointSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create("InputPointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -541,7 +541,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -558,7 +558,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create(nameof(InputLineSpacing), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create("InputLineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -575,7 +575,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -592,7 +592,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(InputUnderline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create("InputUnderline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -609,7 +609,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -626,7 +626,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(InputShadow), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create("InputShadow", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -643,7 +643,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -660,7 +660,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(InputEmboss), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create("InputEmboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -677,7 +677,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -694,7 +694,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(InputOutline), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create("InputOutline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -711,7 +711,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create(nameof(SmoothScroll), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create("SmoothScroll", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -728,7 +728,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create(nameof(SmoothScrollDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create("SmoothScrollDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -745,7 +745,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create(nameof(EnableScrollBar), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create("EnableScrollBar", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -762,7 +762,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create(nameof(ScrollBarShowDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create("ScrollBarShowDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -779,7 +779,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create(nameof(ScrollBarFadeDuration), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create("ScrollBarFadeDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -796,7 +796,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -813,7 +813,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(PlaceholderText), typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create("PlaceholderText", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -830,7 +830,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(PlaceholderTextColor), typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create("PlaceholderTextColor", typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -847,7 +847,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(EnableSelection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create("EnableSelection", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -864,7 +864,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(Placeholder), typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create("Placeholder", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -881,7 +881,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -901,7 +901,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextEditor.EnableShiftSelection), typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create("EnableShiftSelection", typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -917,23 +917,6 @@ namespace Tizen.NUI.BaseComponents
             Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
             return temp;
         });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(TextEditor.MatchSystemLanguageDirection), typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator: (bindable) =>
-        {
-            var textEditor = (TextEditor)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textEditor.swigCPtr, TextEditor.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
-            return (bool)temp;
-        });
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private string textEditorTextSid = null;
@@ -1210,7 +1193,6 @@ namespace Tizen.NUI.BaseComponents
             internal static readonly int PLACEHOLDER_TEXT = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_get();
             internal static readonly int PLACEHOLDER_TEXT_COLOR = NDalicManualPINVOKE.TextEditor_Property_PLACEHOLDER_TEXT_COLOR_get();
             internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextEditor_Property_ENABLE_SHIFT_SELECTION_get();
-            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextEditor_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
         }
 
         internal class InputStyle
@@ -1268,7 +1250,6 @@ namespace Tizen.NUI.BaseComponents
         /// Get the InputMethodContext instance.
         /// </summary>
         /// <returns>The InputMethodContext instance.</returns>
-        /// <since_tizen> 5 </since_tizen>
         public InputMethodContext GetInputMethodContext()
         {
             if (inputMethodContext == null)
@@ -2286,24 +2267,6 @@ namespace Tizen.NUI.BaseComponents
             }
         }
 
-        /// <summary>
-        /// The text alignment to match the direction of the system language.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool MatchSystemLanguageDirection
-        {
-            get
-            {
-                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
-            }
-            set
-            {
-                SetValue(MatchSystemLanguageDirectionProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
 
     }
 }
index ba331db..cff7bb4 100755 (executable)
@@ -33,7 +33,7 @@ namespace Tizen.NUI.BaseComponents
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(Text), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create("Text", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -50,7 +50,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(PlaceholderText), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create("PlaceholderText", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -67,7 +67,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextFocusedProperty = BindableProperty.Create(nameof(PlaceholderTextFocused), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextFocusedProperty = BindableProperty.Create("PlaceholderTextFocused", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -84,7 +84,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -101,7 +101,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -118,7 +118,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -135,7 +135,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create(nameof(MaxLength), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create("MaxLength", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -152,7 +152,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ExceedPolicyProperty = BindableProperty.Create(nameof(ExceedPolicy), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ExceedPolicyProperty = BindableProperty.Create("ExceedPolicy", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -169,11 +169,35 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextField), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextField), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
+            string valueToString = "";
             if (newValue != null)
             {
+                switch ((HorizontalAlignment)newValue)
+                {
+                    case HorizontalAlignment.Begin:
+                    {
+                        valueToString = "BEGIN";
+                        break;
+                    }
+                    case HorizontalAlignment.Center:
+                    {
+                        valueToString = "CENTER";
+                        break;
+                    }
+                    case HorizontalAlignment.End:
+                    {
+                        valueToString = "END";
+                        break;
+                    }
+                    default:
+                    {
+                        valueToString = "BEGIN";
+                        break;
+                    }
+                }
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.HORIZONTAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
@@ -196,11 +220,19 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(TextField.VerticalAlignment), typeof(VerticalAlignment), typeof(TextField), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create("VerticalAlignment", typeof(VerticalAlignment), typeof(TextField), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
+            string valueToString = "";
             if (newValue != null)
             {
+                switch ((VerticalAlignment)newValue)
+                {
+                    case VerticalAlignment.Top: { valueToString = "TOP"; break; }
+                    case VerticalAlignment.Center: { valueToString = "CENTER"; break; }
+                    case VerticalAlignment.Bottom: { valueToString = "BOTTOM"; break; }
+                    default:  { valueToString = "BOTTOM"; break; }
+                }
                 Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.VERTICAL_ALIGNMENT, new Tizen.NUI.PropertyValue((int)newValue));
             }
         },
@@ -223,7 +255,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextField.TextColor), typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -240,7 +272,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(TextField.PlaceholderTextColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create("PlaceholderTextColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -257,7 +289,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create(nameof(TextField.ShadowOffset), typeof(Vector2), typeof(TextField), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create("ShadowOffset", typeof(Vector2), typeof(TextField), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -274,7 +306,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create(nameof(TextField.ShadowColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create("ShadowColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -291,7 +323,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(TextField.PrimaryCursorColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create("PrimaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -308,7 +340,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(TextField.SecondaryCursorColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create("SecondaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -325,7 +357,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(TextField.EnableCursorBlink), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create("EnableCursorBlink", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -342,7 +374,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(TextField.CursorBlinkInterval), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create("CursorBlinkInterval", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -359,7 +391,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(TextField.CursorBlinkDuration), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create("CursorBlinkDuration", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -376,7 +408,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(TextField.CursorWidth), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create("CursorWidth", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -393,7 +425,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(TextField.GrabHandleImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create("GrabHandleImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -410,7 +442,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(TextField.GrabHandlePressedImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create("GrabHandlePressedImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -427,7 +459,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(TextField.ScrollThreshold), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create("ScrollThreshold", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -444,7 +476,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(TextField.ScrollSpeed), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create("ScrollSpeed", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -461,7 +493,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -478,7 +510,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -495,7 +527,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -512,7 +544,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -529,7 +561,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -546,7 +578,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -563,7 +595,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(TextField.SelectionHighlightColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create("SelectionHighlightColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -580,7 +612,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(TextField.DecorationBoundingBox), typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create("DecorationBoundingBox", typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -597,7 +629,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputMethodSettingsProperty = BindableProperty.Create(nameof(TextField.InputMethodSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputMethodSettingsProperty = BindableProperty.Create("InputMethodSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -614,7 +646,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(TextField.InputColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create("InputColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -631,7 +663,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(TextField.EnableMarkup), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -648,7 +680,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(TextField.InputFontFamily), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create("InputFontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -665,7 +697,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(TextField.InputFontStyle), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create("InputFontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -682,7 +714,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(TextField.InputPointSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create("InputPointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -699,7 +731,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(TextField.Underline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -716,7 +748,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(TextField.InputUnderline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create("InputUnderline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -733,7 +765,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(TextField.Shadow), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -750,7 +782,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(TextField.InputShadow), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create("InputShadow", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -767,7 +799,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(TextField.Emboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -784,7 +816,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(TextField.InputEmboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create("InputEmboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -801,7 +833,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(TextField.Outline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -818,7 +850,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(TextField.InputOutline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create("InputOutline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -835,7 +867,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HiddenInputSettingsProperty = BindableProperty.Create(nameof(TextField.HiddenInputSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HiddenInputSettingsProperty = BindableProperty.Create("HiddenInputSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -852,7 +884,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(TextField.PixelSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -869,7 +901,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(TextField.EnableSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create("EnableSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -886,7 +918,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(TextField.Placeholder), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create("Placeholder", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -903,7 +935,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(TextField.Ellipsis), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create("Ellipsis", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -920,7 +952,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextField.EnableShiftSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create("EnableShiftSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -935,23 +967,7 @@ namespace Tizen.NUI.BaseComponents
             Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.ENABLE_SHIFT_SELECTION).Get(out temp);
             return temp;
         });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(TextField.MatchSystemLanguageDirection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textField = (TextField)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textField.swigCPtr, TextField.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator: (bindable) =>
-        {
-            var textField = (TextField)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textField.swigCPtr, TextField.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
-            return (bool)temp;
-        });
+
 
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
@@ -1216,7 +1232,6 @@ namespace Tizen.NUI.BaseComponents
             internal static readonly int PLACEHOLDER = NDalicManualPINVOKE.TextField_Property_PLACEHOLDER_get();
             internal static readonly int ELLIPSIS = NDalicManualPINVOKE.TextField_Property_ELLIPSIS_get();
             internal static readonly int ENABLE_SHIFT_SELECTION = NDalicManualPINVOKE.TextField_Property_ENABLE_SHIFT_SELECTION_get();
-            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextField_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
         }
 
         internal class InputStyle
@@ -1274,7 +1289,6 @@ namespace Tizen.NUI.BaseComponents
         /// Get the InputMethodContext instance.
         /// </summary>
         /// <returns>The InputMethodContext instance.</returns>
-        /// <since_tizen> 5 </since_tizen>
         public InputMethodContext GetInputMethodContext()
         {
             if (inputMethodCotext == null)
@@ -2302,24 +2316,5 @@ namespace Tizen.NUI.BaseComponents
                 NotifyPropertyChanged();
             }
         }
-
-        /// <summary>
-        /// The text alignment to match the direction of the system language.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool MatchSystemLanguageDirection
-        {
-            get
-            {
-                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
-            }
-            set
-            {
-                SetValue(MatchSystemLanguageDirectionProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
     }
 }
index 7215f4c..1f6e3cb 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -51,7 +51,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(FontFamily), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create("FontFamily", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -68,7 +68,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(FontStyle), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create("FontStyle", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -85,7 +85,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(PointSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create("PointSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -102,7 +102,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(MultiLine), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MultiLineProperty = BindableProperty.Create("MultiLine", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -119,7 +119,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(HorizontalAlignment), typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             string valueToString = "";
@@ -153,7 +153,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(VerticalAlignment), typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create("VerticalAlignment", typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             string valueToString = "";
@@ -188,7 +188,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextColor), typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create("TextColor", typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -205,7 +205,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create(nameof(ShadowOffset), typeof(Vector2), typeof(TextLabel), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create("ShadowOffset", typeof(Vector2), typeof(TextLabel), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -222,7 +222,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create(nameof(ShadowColor), typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create("ShadowColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -239,7 +239,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create(nameof(UnderlineEnabled), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create("UnderlineEnabled", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -256,7 +256,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create(nameof(UnderlineColor), typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create("UnderlineColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -273,7 +273,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create(nameof(UnderlineHeight), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create("UnderlineHeight", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -290,7 +290,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(EnableMarkup), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create("EnableMarkup", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -307,7 +307,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(EnableAutoScroll), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create("EnableAutoScroll", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -324,7 +324,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(AutoScrollSpeed), typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create("AutoScrollSpeed", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -341,7 +341,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(AutoScrollLoopCount), typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create("AutoScrollLoopCount", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -358,7 +358,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(AutoScrollGap), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create("AutoScrollGap", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -375,7 +375,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(LineSpacing), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create("LineSpacing", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -392,7 +392,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(Underline), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create("Underline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -409,7 +409,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(Shadow), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create("Shadow", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -426,7 +426,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(Emboss), typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create("Emboss", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -443,7 +443,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(Outline), typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create("Outline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -460,7 +460,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(PixelSize), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create("PixelSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -477,7 +477,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(Ellipsis), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create("Ellipsis", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -494,7 +494,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(AutoScrollLoopDelay), typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create("AutoScrollLoopDelay", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -511,7 +511,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(AutoScrollStopMode), typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create("AutoScrollStopMode", typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -536,7 +536,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(LineWrapMode), typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create("LineWrapMode", typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -556,7 +556,7 @@ namespace Tizen.NUI.BaseComponents
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create("VerticalLineAlignment", typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -571,23 +571,7 @@ namespace Tizen.NUI.BaseComponents
             Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.VERTICAL_LINE_ALIGNMENT).Get(out temp);
             return (VerticalLineAlignment)temp;
         });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static readonly BindableProperty MatchSystemLanguageDirectionProperty = BindableProperty.Create(nameof(MatchSystemLanguageDirection), typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            if (newValue != null)
-            {
-                Tizen.NUI.Object.SetProperty(textLabel.swigCPtr, TextLabel.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION, new Tizen.NUI.PropertyValue((bool)newValue));
-            }
-        },
-        defaultValueCreator: (bindable) =>
-        {
-            var textLabel = (TextLabel)bindable;
-            bool temp = false;
-            Tizen.NUI.Object.GetProperty(textLabel.swigCPtr, TextLabel.Property.MATCH_SYSTEM_LANGUAGE_DIRECTION).Get(out temp);
-            return (bool)temp;
-        });
+
 
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private string textLabelSid = null;
@@ -692,7 +676,6 @@ namespace Tizen.NUI.BaseComponents
             internal static readonly int LINE_WRAP_MODE = NDalicManualPINVOKE.TextLabel_Property_LINE_WRAP_MODE_get();
             internal static readonly int TEXT_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_TEXT_DIRECTION_get();
             internal static readonly int VERTICAL_LINE_ALIGNMENT = NDalicManualPINVOKE.TextLabel_Property_VERTICAL_LINE_ALIGNMENT_get();
-            internal static readonly int MATCH_SYSTEM_LANGUAGE_DIRECTION = NDalicManualPINVOKE.TextLabel_Property_MATCH_SYSTEM_LANGUAGE_DIRECTION_get();
         }
 
         /// <summary>
@@ -721,9 +704,6 @@ namespace Tizen.NUI.BaseComponents
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Invoked whenever the binding context of the textlabel changes. Implement this method to add class handling for this event.
-        /// </summary>
         protected override void OnBindingContextChanged()
         {
             base.OnBindingContextChanged();
@@ -1327,24 +1307,5 @@ namespace Tizen.NUI.BaseComponents
                 NotifyPropertyChanged();
             }
         }
-
-        /// <summary>
-        /// The text alignment to match the direction of the system language.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool MatchSystemLanguageDirection
-        {
-            get
-            {
-                return (bool)GetValue(MatchSystemLanguageDirectionProperty);
-            }
-            set
-            {
-                SetValue(MatchSystemLanguageDirectionProperty, value);
-                NotifyPropertyChanged();
-            }
-        }
     }
 }
index cf34305..79c45d7 100755 (executable)
@@ -158,7 +158,13 @@ namespace Tizen.NUI.BaseComponents
             {
                 NUILog.Error("State get error!");
             }
-            return (States)temp;
+            switch (temp)
+            {
+                case 0: return States.Normal;
+                case 1: return States.Focused;
+                case 2: return States.Disabled;
+                default: return States.Normal;
+            }
         });
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
@@ -219,8 +225,6 @@ namespace Tizen.NUI.BaseComponents
         //         Tizen.NUI.Object.SetProperty(view.swigCPtr, View.Property.TOOLTIP, new Tizen.NUI.PropertyValue((string)newValue));
         //     }
         // });
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
         public static readonly BindableProperty FlexProperty = BindableProperty.Create("Flex", typeof(float), typeof(View), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var view = (View)bindable;
index 012e523..5b7355e 100755 (executable)
@@ -29,48 +29,30 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class BaseHandle : Element, global::System.IDisposable
     {
-        internal static readonly BindablePropertyKey NavigationPropertyKey = BindableProperty.CreateReadOnly("Navigation", typeof(INavigation), typeof(/*VisualElement*/BaseHandle), default(INavigation));
+        /// <summary>
+        /// Event when a property is set.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event PropertyChangedEventHandler PropertySet;
+
+        internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
+        {
+            PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+        }
 
+        internal static readonly BindablePropertyKey NavigationPropertyKey = BindableProperty.CreateReadOnly("Navigation", typeof(INavigation), typeof(/*VisualElement*/BaseHandle), default(INavigation));
         /// <summary>
         /// Backing store for the Navigation property.
         /// </summary>
         internal static readonly BindableProperty NavigationProperty = NavigationPropertyKey.BindableProperty;
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private bool _registerMe;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// Create an instance of BaseHandle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Create an instance of BaseHandle.
-        /// </summary>
-        /// <param name="handle">The BaseHandle instance.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public BaseHandle(BaseHandle handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_2(BaseHandle.getCPtr(handle)))
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
 
         internal BaseHandle(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -110,6 +92,20 @@ namespace Tizen.NUI
             }
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseHandle obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -124,34 +120,65 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Event when a property is set.
+        /// Dispose.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event PropertyChangedEventHandler PropertySet;
-
-        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                return swigCPtr;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// For internal use.
-        /// </summary>
-        internal NavigationProxy NavigationProxy
-        {
-            get { return Navigation as NavigationProxy; }
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Gets the navigation.
+        /// Dispose.
         /// </summary>
-        internal INavigation Navigation
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get { return (INavigation)GetValue(NavigationProperty); }
-            set { SetValue(NavigationPropertyKey, value); }
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            //Unreference this instance from Registry.
+            if (_registerMe)
+            {
+                Registry.Unregister(this);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                swigCMemOwn = false;
+                NDalicPINVOKE.delete_BaseHandle(swigCPtr);
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
         /// <summary>
@@ -314,28 +341,25 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Create an instance of BaseHandle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// Create an instance of BaseHandle.
+        /// </summary>
+        /// <param name="handle">The BaseHandle instance.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public BaseHandle(BaseHandle handle) : this(NDalicPINVOKE.new_BaseHandle__SWIG_2(BaseHandle.getCPtr(handle)))
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+
         /// <summary>
         /// Performs an action on this object with the given action name and attributes.
         /// </summary>
@@ -413,6 +437,14 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal RefObject GetObjectPtr()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.BaseHandle_GetObjectPtr(swigCPtr);
+            RefObject ret = (cPtr == global::System.IntPtr.Zero) ? null : new RefObject(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// To check the BaseHandle instance has body or not.
         /// </summary>
@@ -448,61 +480,29 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseHandle obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
+        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
         {
-            PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+            get
+            {
+                return swigCPtr;
+            }
         }
 
-        internal RefObject GetObjectPtr()
+        /// <summary>
+        /// For internal use.
+        /// </summary>
+        internal NavigationProxy NavigationProxy
         {
-            global::System.IntPtr cPtr = NDalicPINVOKE.BaseHandle_GetObjectPtr(swigCPtr);
-            RefObject ret = (cPtr == global::System.IntPtr.Zero) ? null : new RefObject(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get { return Navigation as NavigationProxy; }
         }
 
         /// <summary>
-        /// Dispose.
+        /// Gets the navigation.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        internal INavigation Navigation
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            //Unreference this instance from Registry.
-            if (_registerMe)
-            {
-                Registry.Unregister(this);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                swigCMemOwn = false;
-                NDalicPINVOKE.delete_BaseHandle(swigCPtr);
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            get { return (INavigation)GetValue(NavigationProperty); }
+            set { SetValue(NavigationPropertyKey, value); }
         }
 
         /// <summary>
index 0bb24ea..eb97c04 100755 (executable)
@@ -27,115 +27,32 @@ namespace Tizen.NUI
     [TypeConverter(typeof(ColorTypeConverter))]
     public class Color : global::System.IDisposable
     {
-
-        /// <summary>
-        /// Gets the black colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Black = new Color(0.0f, 0.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the white colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color White = new Color(1.0f, 1.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the red colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Red = new Color(1.0f, 0.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the green colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Green = new Color(0.0f, 1.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the blue colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Blue = new Color(0.0f, 0.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the yellow colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Yellow = new Color(1.0f, 1.0f, 0.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the magenta colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Magenta = new Color(1.0f, 0.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the cyan colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Cyan = new Color(0.0f, 1.0f, 1.0f, 1.0f);
-
-        /// <summary>
-        /// Gets the  transparent colored Color class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly Color Transparent = new Color(0.0f, 0.0f, 0.0f, 0.0f);
-
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// Default constructor
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+        internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="r">The red component.</param>
-        /// <param name="g">The green component.</param>
-        /// <param name="b">The blue component.</param>
-        /// <param name="a">The alpha component.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(r), ValueCheck(g), ValueCheck(b), ValueCheck(a)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
-        /// The conversion constructor from an array of four floats.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="array">array Array of R,G,B,A.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(ValueCheck(array)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -143,7 +60,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Color()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -151,113 +68,60 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The red component.
+        /// To make a color instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float R
+        public void Dispose()
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_r_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The green component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float G
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector4_g_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The blue component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float B
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_b_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The alpha component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float A
-        {
-            set
-            {
-                NDalicPINVOKE.Vector4_a_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if(type == DisposeTypes.Explicit)
             {
-                float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        /// <summary>
-        /// The array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                return ValueOfIndex(index);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-        }
-
-        /// <summary>
-        /// Converts the Color class to Vector4 class implicitly.
-        /// </summary>
-        /// <param name="color">A color to be converted to Vector4</param>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector4(Color color)
-        {
-            return new Vector4(color.R, color.G, color.B, color.A);
-        }
-
-        /// <summary>
-        /// Converts Vector4 class to Color class implicitly.
-        /// </summary>
-        /// <param name="vec">A Vector4 to be converted to color.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Color(Vector4 vec)
-        {
-            return new Color(vec.R, vec.G, vec.B, vec.A);
+            disposed = true;
         }
 
         /// <summary>
@@ -318,7 +182,7 @@ namespace Tizen.NUI
         /// <param name="arg2">The second value.</param>
         /// <returns>The color containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Color operator *(Color arg1, float arg2)
+        public static Color operator*(Color arg1, float arg2)
         {
             Color result = arg1.Multiply(arg2);
             return ValueCheck(result);
@@ -344,186 +208,64 @@ namespace Tizen.NUI
         /// <param name="arg2">The second value.</param>
         /// <returns>The color containing the result of the division.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Color operator /(Color arg1, float arg2)
+        public static Color operator/(Color arg1, float arg2)
         {
             Color result = arg1.Divide(arg2);
             return ValueCheck(result);
         }
 
         /// <summary>
-        /// To make a color instance be disposed.
+        /// The array subscript operator overload.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float this[uint index]
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            get
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                return ValueOfIndex(index);
             }
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
+        {
+            Color ret = new Color(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Checks if two color classes are same.
+        /// Default constructor
         /// </summary>
-        /// <param name="rhs">A color to be compared.</param>
-        /// <returns>If two colors are are same, then true.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Color rhs)
+        public Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
         {
-            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Color.getCPtr(rhs));
-
-            if (rhs == null) return false;
-
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
+
         /// <summary>
-        /// Checks if two color classes are different.
+        /// The constructor.
         /// </summary>
-        /// <param name="rhs">A color to be compared.</param>
-        /// <returns>If two colors are are different, then true.</returns>
+        /// <param name="r">The red component.</param>
+        /// <param name="g">The green component.</param>
+        /// <param name="b">The blue component.</param>
+        /// <param name="a">The alpha component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Color rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Color.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
+        public Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(r), ValueCheck(g), ValueCheck(b), ValueCheck(a)), true)
         {
-            Color ret = new Color(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static Color ValueCheck(Color color)
-        {
-            if (color.R < 0.0f)
-            {
-                color.R = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.R > 1.0f)
-            {
-                color.R = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.G < 0.0f)
-            {
-                color.G = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.G > 1.0f)
-            {
-                color.G = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.B < 0.0f)
-            {
-                color.B = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.B > 1.0f)
-            {
-                color.B = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (color.A < 0.0f)
-            {
-                color.A = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (color.A > 1.0f)
-            {
-                color.A = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            return color;
-        }
-
-        internal static float ValueCheck(float value)
-        {
-            if (value < 0.0f)
-            {
-                value = 0.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            else if (value > 1.0f)
-            {
-                value = 1.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
-            }
-            return value;
-        }
-
-        internal static float[] ValueCheck(float[] arr)
-        {
-            for (int i = 0; i < arr.Length; i++)
-            {
-                if (arr[i] < 0.0f)
-                {
-                    arr[i] = 0.0f;
-                    NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
-                }
-                else if (arr[i] > 1.0f)
-                {
-                    arr[i] = 1.0f;
-                    NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
-                }
-            }
-            return arr;
         }
 
         /// <summary>
-        /// Dispose.
+        /// The conversion constructor from an array of four floats.
         /// </summary>
+        /// <param name="array">array Array of R,G,B,A.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public Color(float[] array) : this(NDalicPINVOKE.new_Vector4__SWIG_2(ValueCheck(array)), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         private Color Add(Color rhs)
@@ -617,6 +359,36 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Checks if two color classes are same.
+        /// </summary>
+        /// <param name="rhs">A color to be compared.</param>
+        /// <returns>If two colors are are same, then true.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool EqualTo(Color rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Color.getCPtr(rhs));
+
+            if (rhs == null) return false;
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks if two color classes are different.
+        /// </summary>
+        /// <param name="rhs">A color to be compared.</param>
+        /// <returns>If two colors are are different, then true.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool NotEqualTo(Color rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Color.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
         private float ValueOfIndex(uint index)
         {
             float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
@@ -624,6 +396,234 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// The red component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float R
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_r_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The green component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float G
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_g_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The blue component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float B
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_b_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_b_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The alpha component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float A
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_a_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_a_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// Gets the black colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Black = new Color(0.0f, 0.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the white colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color White = new Color(1.0f, 1.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the red colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Red = new Color(1.0f, 0.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the green colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Green = new Color(0.0f, 1.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the blue colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Blue = new Color(0.0f, 0.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the yellow colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Yellow = new Color(1.0f, 1.0f, 0.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the magenta colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Magenta = new Color(1.0f, 0.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the cyan colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Cyan = new Color(0.0f, 1.0f, 1.0f, 1.0f);
+
+        /// <summary>
+        /// Gets the  transparent colored Color class.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly Color Transparent = new Color(0.0f, 0.0f, 0.0f, 0.0f);
+
+        /// <summary>
+        /// Converts the Color class to Vector4 class implicitly.
+        /// </summary>
+        /// <param name="color">A color to be converted to Vector4</param>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector4(Color color)
+        {
+            return new Vector4(color.R, color.G, color.B, color.A);
+        }
+
+        /// <summary>
+        /// Converts Vector4 class to Color class implicitly.
+        /// </summary>
+        /// <param name="vec">A Vector4 to be converted to color.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Color(Vector4 vec)
+        {
+            return new Color(vec.R, vec.G, vec.B, vec.A);
+        }
+
+        internal static Color ValueCheck(Color color)
+        {
+            if (color.R < 0.0f)
+            {
+                color.R = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.R > 1.0f)
+            {
+                color.R = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.G < 0.0f)
+            {
+                color.G = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.G > 1.0f)
+            {
+                color.G = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.B < 0.0f)
+            {
+                color.B = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.B > 1.0f)
+            {
+                color.B = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            if (color.A < 0.0f)
+            {
+                color.A = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if (color.A > 1.0f)
+            {
+                color.A = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            return color;
+        }
+
+        internal static float ValueCheck(float value)
+        {
+            if (value < 0.0f)
+            {
+                value = 0.0f;
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            else if (value > 1.0f)
+            {
+                value = 1.0f;
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            return value;
+        }
+
+        internal static float[] ValueCheck(float[] arr)
+        {
+            for(int i = 0; i < arr.Length; i++)
+            {
+                if (arr[i] < 0.0f)
+                {
+                    arr[i] = 0.0f;
+                    NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                }
+                else if (arr[i] > 1.0f)
+                {
+                    arr[i] = 1.0f;
+                    NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+                }
+            }
+            return arr;
+        }
+
     }
 
 }
index 2c05dc6..648d5bb 100755 (executable)
@@ -28,13 +28,9 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public abstract class Container : Animatable
     {
-        internal BaseHandle InternalParent;
-        private List<View> _childViews = new List<View>();
 
-        internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
-        {
-            // No un-managed data hence no need to store a native ptr
-        }
+        private List<View> _childViews = new List<View>();
+        internal BaseHandle InternalParent;
 
         /// <summary>
         /// List of children of Container.
@@ -48,34 +44,23 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Gets the parent container.
-        /// Read only
-        /// </summary>
-        /// <pre>The child container has been initialized.</pre>
-        /// <returns>The parent container.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public new Container Parent
+        internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
         {
-            get
-            {
-                return GetParent();
-            }
+            // No un-managed data hence no need to store a native ptr
         }
 
         /// <summary>
-        /// Gets the number of children for this container.
-        /// Read only
+        /// Dispose.
         /// </summary>
-        /// <pre>The container has been initialized.</pre>
-        /// <returns>The number of children.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public uint ChildCount
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return GetChildCount();
+                return;
             }
+
+            base.Dispose(type);
         }
 
         /// <summary>
@@ -86,7 +71,7 @@ namespace Tizen.NUI
         /// <remarks>If the child already has a parent, it will be removed from the old parent and reparented to this view. This may change child's position, color, scale, etc. as it now inherits them from this view.</remarks>
         /// <param name="view">The child view to add.</param>
         /// <since_tizen> 4 </since_tizen>
-        public abstract void Add(View view);
+        public abstract void Add( View view );
 
         /// <summary>
         /// Removes a child view from this view. If the view was not a child of this view, this is a no-op.
@@ -94,7 +79,7 @@ namespace Tizen.NUI
         /// <pre>This View(the parent) has been initialized. The child view is not the same as the parent view.</pre>
         /// <param name="view">The view to remove</param>
         /// <since_tizen> 4 </since_tizen>
-        public abstract void Remove(View view);
+        public abstract void Remove( View view );
 
         /// <summary>
         /// Retrieves the child view by the index.
@@ -103,7 +88,7 @@ namespace Tizen.NUI
         /// <param name="index">The index of the child to retrieve.</param>
         /// <returns>The view for the given index or empty handle if children are not initialized.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public abstract View GetChildAt(uint index);
+        public abstract View GetChildAt( uint index );
 
         /// <summary>
         /// Gets the parent of this container.
@@ -122,18 +107,33 @@ namespace Tizen.NUI
         public abstract UInt32 GetChildCount();
 
         /// <summary>
-        /// Dispose.
+        /// Gets the parent container.
+        /// Read only
         /// </summary>
+        /// <pre>The child container has been initialized.</pre>
+        /// <returns>The parent container.</returns>
         /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public new Container Parent
         {
-            if (disposed)
+            get
             {
-                return;
+                return GetParent();
             }
-
-            base.Dispose(type);
         }
 
+        /// <summary>
+        /// Gets the number of children for this container.
+        /// Read only
+        /// </summary>
+        /// <pre>The container has been initialized.</pre>
+        /// <returns>The number of children.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public uint ChildCount
+        {
+            get
+            {
+                return GetChildCount();
+            }
+        }
     }
 } // namespace Tizen.NUI
index 92b0d2b..58292f7 100755 (executable)
@@ -74,16 +74,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ScriptableProperty : System.Attribute
     {
-
-        /// <since_tizen> 3 </since_tizen>
-        public readonly ScriptableType type;
-
-        /// <since_tizen> 3 </since_tizen>
-        public ScriptableProperty(ScriptableType type = ScriptableType.Default)
-        {
-            this.type = type;
-        }
-
         /// <summary>
         /// Rhe enum of ScriptableType
         /// </summary>
@@ -97,6 +87,15 @@ namespace Tizen.NUI
             Default,    // Read Writable, non-animatable property, event thread only
                         //  Animatable // Animatable property, Currently disabled, UK
         }
+        /// <since_tizen> 3 </since_tizen>
+        public readonly ScriptableType type;
+
+
+        /// <since_tizen> 3 </since_tizen>
+        public ScriptableProperty(ScriptableType type = ScriptableType.Default)
+        {
+            this.type = type;
+        }
     }
 
     /// <summary>
@@ -136,6 +135,30 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public sealed class CustomViewRegistry
     {
+        /// <summary>
+        /// ViewRegistry is a singleton.
+        /// </summary>
+        private static CustomViewRegistry instance = null;
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
+
+        private CreateControlDelegate _createCallback;
+        private SetPropertyDelegate _setPropertyCallback;
+        private GetPropertyDelegate _getPropertyCallback;
+        private PropertyRangeManager _propertyRangeManager;
+
+        ///<summary>
+        /// Maps the name of a custom view to a create instance function
+        /// For example, given a string "Spin", we can get a function used to create the Spin View.
+        ///</summary>
+        private Dictionary<String, Func<CustomView>> _constructorMap;
 
         /// <summary>
         /// Lookup table to match C# types to DALi types, used for the automatic property registration.
@@ -160,21 +183,6 @@ namespace Tizen.NUI
             //  { "Matrix",  PropertyType.MATRIX },
         };
 
-        /// <summary>
-        /// ViewRegistry is a singleton.
-        /// </summary>
-        private static CustomViewRegistry instance = null;
-
-        private CreateControlDelegate _createCallback;
-        private SetPropertyDelegate _setPropertyCallback;
-        private GetPropertyDelegate _getPropertyCallback;
-        private PropertyRangeManager _propertyRangeManager;
-
-        ///<summary>
-        /// Maps the name of a custom view to a create instance function
-        /// For example, given a string "Spin", we can get a function used to create the Spin View.
-        ///</summary>
-        private Dictionary<String, Func<CustomView>> _constructorMap;
 
         private CustomViewRegistry()
         {
@@ -186,14 +194,70 @@ namespace Tizen.NUI
             _propertyRangeManager = new PropertyRangeManager();
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
+        private Tizen.NUI.PropertyType GetDaliPropertyType(string cSharpTypeName)
+        {
+            Tizen.NUI.PropertyType daliType;
+            if (_daliPropertyTypeLookup.TryGetValue(cSharpTypeName, out daliType))
+            {
+                NUILog.Debug("mapped " + cSharpTypeName + " to dAli type " + daliType);
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
+                return daliType;
+            }
+            else
+            {
+                NUILog.Debug("Failed to find a mapping between C# property" + cSharpTypeName + " and DALi type");
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
+                return PropertyType.None;
+            }
+        }
+
+        /// <summary>
+        /// Called directly from DALi C++ type registry to create a control (view) using no marshalling.
+        /// </summary>
+        /// <returns>Pointer to the control (views) handle.</returns>
+        /// <param name="cPtrControlName">C pointer to the control (view) name.</param>
+        private static IntPtr CreateControl(IntPtr cPtrControlName)
+        {
+            string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(cPtrControlName);
+
+            NUILog.Debug("Create controlled called from C++ create a " + controlName);
+
+            Func<CustomView> controlConstructor;
+
+            // find the control constructor
+            if (Instance._constructorMap.TryGetValue(controlName, out controlConstructor))
+            {
+                // Create the control
+                CustomView newControl = controlConstructor();
+                if (newControl != null)
+                {
+                    return newControl.GetPtrfromView();  // return pointer to handle
+                }
+                else
+                {
+                    return IntPtr.Zero;
+                }
+            }
+            else
+            {
+                throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry" + controlName);
+            }
+        }
+
+        private static IntPtr GetProperty(IntPtr controlPtr, IntPtr propertyName)
+        {
+            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+            return Instance.GetPropertyValue(controlPtr, name);
+        }
+
+        private static void SetProperty(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue)
+        {
+            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
+
+            NUILog.Debug("SetControlProperty  called for:" + name);
+
+            Instance.SetPropertyValue(controlPtr, name, propertyValue);
+        }
 
         /// <since_tizen> 3 </since_tizen>
         public static CustomViewRegistry Instance
@@ -268,71 +332,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Called directly from DALi C++ type registry to create a control (view) using no marshalling.
-        /// </summary>
-        /// <returns>Pointer to the control (views) handle.</returns>
-        /// <param name="cPtrControlName">C pointer to the control (view) name.</param>
-        private static IntPtr CreateControl(IntPtr cPtrControlName)
-        {
-            string controlName = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(cPtrControlName);
-
-            NUILog.Debug("Create controlled called from C++ create a " + controlName);
-
-            Func<CustomView> controlConstructor;
-
-            // find the control constructor
-            if (Instance._constructorMap.TryGetValue(controlName, out controlConstructor))
-            {
-                // Create the control
-                CustomView newControl = controlConstructor();
-                if (newControl != null)
-                {
-                    return newControl.GetPtrfromView();  // return pointer to handle
-                }
-                else
-                {
-                    return IntPtr.Zero;
-                }
-            }
-            else
-            {
-                throw new global::System.InvalidOperationException("C# View not registererd with ViewRegistry" + controlName);
-            }
-        }
-
-        private static IntPtr GetProperty(IntPtr controlPtr, IntPtr propertyName)
-        {
-            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
-            return Instance.GetPropertyValue(controlPtr, name);
-        }
-
-        private static void SetProperty(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue)
-        {
-            string name = System.Runtime.InteropServices.Marshal.PtrToStringAnsi(propertyName);
-
-            NUILog.Debug("SetControlProperty  called for:" + name);
-
-            Instance.SetPropertyValue(controlPtr, name, propertyValue);
-        }
-
-        private Tizen.NUI.PropertyType GetDaliPropertyType(string cSharpTypeName)
-        {
-            Tizen.NUI.PropertyType daliType;
-            if (_daliPropertyTypeLookup.TryGetValue(cSharpTypeName, out daliType))
-            {
-                NUILog.Debug("mapped " + cSharpTypeName + " to dAli type " + daliType);
-
-                return daliType;
-            }
-            else
-            {
-                NUILog.Debug("Failed to find a mapping between C# property" + cSharpTypeName + " and DALi type");
-
-                return PropertyType.None;
-            }
-        }
-
-        /// <summary>
         /// Gets a property value from a view.
         /// </summary>
         private IntPtr GetPropertyValue(IntPtr refObjectPtr, string propertyName)
index 6975988..f0d6d9c 100755 (executable)
@@ -25,58 +25,31 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Degree : global::System.IDisposable
     {
-
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true)
+        internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Creates an angle in degrees.
-        /// </summary>
-        /// <param name="value">The initial value in degrees.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// Creates an angle in degrees from a radian.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="value">The initial value in radians.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -84,7 +57,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Degree()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -92,25 +65,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The value of degree.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Value
-        {
-            set
-            {
-                NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -133,11 +87,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -172,6 +121,54 @@ namespace Tizen.NUI
             disposed = true;
         }
 
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Degree() : this(NDalicPINVOKE.new_Degree__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an angle in degrees.
+        /// </summary>
+        /// <param name="value">The initial value in degrees.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Degree(float value) : this(NDalicPINVOKE.new_Degree__SWIG_1(value), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an angle in degrees from a radian.
+        /// </summary>
+        /// <param name="value">The initial value in radians.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Degree(Radian value) : this(NDalicPINVOKE.new_Degree__SWIG_2(Radian.getCPtr(value)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The value of degree.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Value
+        {
+            set
+            {
+                NDalicPINVOKE.Degree_degree_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Degree_degree_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
     }
 
 }
\ No newline at end of file
index 87907fd..3a7ad14 100755 (executable)
@@ -26,23 +26,102 @@ namespace Tizen.NUI
     [TypeConverter(typeof(ExtentsTypeConverter))]
     public class Extents : global::System.IDisposable
     {
-
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// Extents class
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Extents obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        ~Extents()
+        {
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        /// <summary>
+        /// To make a Extents instance be disposed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// To make a Extents instance be disposed.
+        /// </summary>
+        /// <param name="type">Extents type</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Extents(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
 
         /// <summary>
         /// Constructor.
@@ -76,23 +155,44 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn)
+        internal Extents Assign(SWIGTYPE_p_uint16_t array)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_1(swigCPtr, SWIGTYPE_p_uint16_t.getCPtr(array)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Extents Assign(Extents copy)
+        {
+            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Destructor.
+        /// Equality operator.
         /// </summary>
+        /// <param name="rhs">The Extents to test against.</param>
+        /// <returns>True if the extents are not equal.</returns>
         /// <since_tizen> 4 </since_tizen>
-        ~Extents()
+        public bool EqualTo(Extents rhs)
         {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            bool ret = NDalicPINVOKE.Extents_EqualTo(swigCPtr, Extents.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Inequality operator.
+        /// </summary>
+        /// <param name="rhs">The Extents to test against.</param>
+        /// <returns>True if the extents are not equal.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool NotEqualTo(Extents rhs)
+        {
+            bool ret = NDalicPINVOKE.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -171,109 +271,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// To make a Extents instance be disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Equality operator.
-        /// </summary>
-        /// <param name="rhs">The Extents to test against.</param>
-        /// <returns>True if the extents are not equal.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool EqualTo(Extents rhs)
-        {
-            bool ret = NDalicPINVOKE.Extents_EqualTo(swigCPtr, Extents.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Inequality operator.
-        /// </summary>
-        /// <param name="rhs">The Extents to test against.</param>
-        /// <returns>True if the extents are not equal.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool NotEqualTo(Extents rhs)
-        {
-            bool ret = NDalicPINVOKE.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Extents obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal Extents Assign(SWIGTYPE_p_uint16_t array)
-        {
-            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_1(swigCPtr, SWIGTYPE_p_uint16_t.getCPtr(array)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Extents Assign(Extents copy)
-        {
-            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// To make a Extents instance be disposed.
-        /// </summary>
-        /// <param name="type">Extents type</param>
-        /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Extents(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
     }
 
 }
old mode 100755 (executable)
new mode 100644 (file)
index 0c0dd31..3f9d3d2 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -30,49 +30,82 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class FocusManager : BaseHandle
     {
-        private static readonly FocusManager instance = FocusManager.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         private CustomAlgorithmInterfaceWrapper _customAlgorithmInterfaceWrapper;
 
-        private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
-        private PreFocusChangeEventCallback _preFocusChangeCallback;
-
-        private EventHandler<FocusChangedEventArgs> _focusChangedEventHandler;
-        private FocusChangedEventCallback _focusChangedEventCallback;
-
-        private EventHandler<FocusGroupChangedEventArgs> _focusGroupChangedEventHandler;
-        private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
-
-        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler;
-        private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
-
-        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler2;
-        private FocusedViewEnterKeyEventCallback2 _focusedViewEnterKeyEventCallback2;
-
         internal FocusManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FocusManager_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
+        ///<summary>
+        /// Event arguments that passed via the PreFocusChange signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class PreFocusChangeEventArgs : EventArgs
+        {
+            private View _current;
+            private View _proposed;
+            private View.FocusDirection _direction;
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
+            /// <summary>
+            /// The current focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View CurrentView
+            {
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
+            }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
+            /// <summary>
+            /// The  proposed view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View ProposedView
+            {
+                get
+                {
+                    return _proposed;
+                }
+                set
+                {
+                    _proposed = value;
+                }
+            }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
+            /// <summary>
+            /// The focus move direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View.FocusDirection Direction
+            {
+                get
+                {
+                    return _direction;
+                }
+                set
+                {
+                    _direction = value;
+                }
+            }
+        }
 
+        private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
+        internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
+        private PreFocusChangeEventCallback _preFocusChangeCallback;
 
         /// <summary>
         /// PreFocusChange will be triggered before the focus is going to be changed.<br />
@@ -103,6 +136,83 @@ namespace Tizen.NUI
             }
         }
 
+        private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.FocusDirection direction)
+        {
+            View view = null;
+            PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
+
+            if (current != global::System.IntPtr.Zero)
+            {
+                e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            }
+            if (proposed != global::System.IntPtr.Zero)
+            {
+                e.ProposedView = Registry.GetManagedBaseHandleFromNativePtr(proposed) as View;
+            }
+            e.Direction = direction;
+
+            if (_preFocusChangeEventHandler != null)
+            {
+                view = _preFocusChangeEventHandler(this, e);
+            }
+
+            if (view)
+            {
+                return view.GetPtrfromView();
+            }
+            else
+            {
+                if (e.ProposedView) return proposed;
+                else return current;
+            }
+        }
+
+        ///<summary>
+        /// Event arguments that passed via the FocusChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusChangedEventArgs : EventArgs
+        {
+            private View _current;
+            private View _next;
+
+            /// <summary>
+            /// The current focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View CurrentView
+            {
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
+            }
+            /// <summary>
+            /// The next focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View NextView
+            {
+                get
+                {
+                    return _next;
+                }
+                set
+                {
+                    _next = value;
+                }
+            }
+        }
+
+        private EventHandler<FocusChangedEventArgs> _focusChangedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
+        private FocusChangedEventCallback _focusChangedEventCallback;
+
         /// <summary>
         /// The FocusGroupChanged will be triggered after the current focused view has been changed.
         /// </summary>
@@ -129,6 +239,66 @@ namespace Tizen.NUI
             }
         }
 
+        private void OnFocusChanged(IntPtr current, IntPtr next)
+        {
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            e.NextView = Registry.GetManagedBaseHandleFromNativePtr(next) as View;
+
+            if (_focusChangedEventHandler != null)
+            {
+                _focusChangedEventHandler(this, e);
+            }
+        }
+
+        ///<summary>
+        /// Event arguments that passed via the FocusGroupChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusGroupChangedEventArgs : EventArgs
+        {
+            private View _current;
+            private bool _forwardDirection;
+
+            /// <summary>
+            /// The current focus view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View CurrentView
+            {
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
+            }
+
+            /// <summary>
+            /// The forward direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool ForwardDirection
+            {
+                get
+                {
+                    return _forwardDirection;
+                }
+                set
+                {
+                    _forwardDirection = value;
+                }
+            }
+        }
+
+        private EventHandler<FocusGroupChangedEventArgs> _focusGroupChangedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
+        private FocusGroupChangedEventCallback _focusGroupChangedEventCallback;
+
         /// <summary>
         /// The FocusGroupChanged will be triggered when the focus group has been changed.<br />
         /// If the current focus group has a parent layout control, the FocusManager will make the best guess for the next focus group to move the focus to in the given direction (forward or backward).<br />
@@ -157,130 +327,98 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The FocusedViewActivated will be triggered when the current focused view has the enter key pressed on it.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewActivated
+        private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
         {
-            add
-            {
-                if (_focusedViewEnterKeyEventCallback == null)
-                {
-                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
-                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
-                }
-                _focusedViewEnterKeyEventHandler += value;
-            }
-            remove
-            {
-                _focusedViewEnterKeyEventHandler -= value;
+            FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
 
-                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
-                {
-                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
-                }
+            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
+            e.ForwardDirection = forwardDirection;
+
+            if (_focusGroupChangedEventHandler != null)
+            {
+                _focusGroupChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// [Obsolete("Please do not use! this will be deprecated")]
+        ///<summary>
+        /// Event arguments that passed via the FocusedViewEnterKey signal.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use FocusedViewActivated.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.FocusedViewActivated instead! " +
-            "Like: " +
-            "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
-            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs args) {...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewEnterKeyPressed
+        public class FocusedViewActivatedEventArgs : EventArgs
         {
-            add
+            private View _view;
+
+            /// <summary>
+            /// View.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public View View
             {
-                if (_focusedViewEnterKeyEventCallback2 == null)
+                get
                 {
-                    _focusedViewEnterKeyEventCallback2 = OnFocusedViewEnterKey2;
-                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback2);
+                    return _view;
                 }
-                _focusedViewEnterKeyEventHandler2 += value;
-            }
-            remove
-            {
-                _focusedViewEnterKeyEventHandler2 -= value;
-
-                if (_focusedViewEnterKeyEventCallback2 != null && FocusedViewEnterKeySignal().Empty() == false)
+                set
                 {
-                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback2);
+                    _view = value;
                 }
             }
         }
 
-        /// <summary>
-        /// ICustomFocusAlgorithm is used to provide the custom keyboard focus algorithm for retrieving the next focusable view.<br />
-        /// The application can implement the interface and override the keyboard focus behavior.<br />
-        /// If the focus is changing within a layout container, then the layout container is queried first to provide the next focusable view.<br />
-        /// If this does not provide a valid view, then the Keyboard FocusManager will check focusable properties to determine the next focusable actor.<br />
-        /// If focusable properties are not set, then the keyboard FocusManager calls the GetNextFocusableView() method of this interface.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public interface ICustomFocusAlgorithm
-        {
-            /// <summary>
-            /// Get the next focus actor.
-            /// </summary>
-            /// <param name="current">The current focus view.</param>
-            /// <param name="proposed">The proposed focus view</param>
-            /// <param name="direction">The focus move direction</param>
-            /// <returns>The next focus actor.</returns>
-            /// <since_tizen> 3 </since_tizen>
-            View GetNextFocusableView(View current, View proposed, View.FocusDirection direction);
-        }
+        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
+        private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
 
         /// <summary>
-        /// Gets or sets the status of whether the focus movement should be looped within the same focus group.<br />
-        /// The focus movement is not looped by default.<br />
+        /// The FocusedViewActivated will be triggered when the current focused view has the enter key pressed on it.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public bool FocusGroupLoop
+        public event EventHandler<FocusedViewActivatedEventArgs> FocusedViewActivated
         {
-            set
+            add
             {
-                SetFocusGroupLoop(value);
+                if (_focusedViewEnterKeyEventCallback == null)
+                {
+                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
+                }
+                _focusedViewEnterKeyEventHandler += value;
             }
-            get
+            remove
             {
-                return GetFocusGroupLoop();
+                _focusedViewEnterKeyEventHandler -= value;
+
+                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
+                {
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
+                }
             }
         }
 
-        /// <summary>
-        /// Gets or sets the focus indicator view.<br />
-        /// This will replace the default focus indicator view in the FocusManager and will be added to the focused view as a highlight.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public View FocusIndicator
+        private void OnFocusedViewEnterKey(IntPtr view)
         {
-            set
-            {
-                SetFocusIndicatorView(value);
-            }
-            get
+            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+
+            if (_focusedViewEnterKeyEventHandler != null)
             {
-                return GetFocusIndicatorView();
+                _focusedViewEnterKeyEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets the singleton of the FocusManager object.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static FocusManager Instance
+
+        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
         {
-            get
-            {
-                return instance;
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static FocusManager Get()
+        {
+            FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -355,6 +493,36 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Gets or sets the status of whether the focus movement should be looped within the same focus group.<br />
+        /// The focus movement is not looped by default.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool FocusGroupLoop
+        {
+            set
+            {
+                SetFocusGroupLoop(value);
+            }
+            get
+            {
+                return GetFocusGroupLoop();
+            }
+        }
+
+        internal void SetFocusGroupLoop(bool enabled)
+        {
+            NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal bool GetFocusGroupLoop()
+        {
+            bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
         /// Sets whether the view is a focus group that can limit the scope of the focus movement to its child views in the focus chain.<br />
         /// Layout controls set themselves as focus groups by default.<br />
         /// </summary>
@@ -399,42 +567,20 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Provides the implementation of a custom focus algorithm interface to allow the application to define the focus logic.<br />
+        /// Gets or sets the focus indicator view.<br />
+        /// This will replace the default focus indicator view in the FocusManager and will be added to the focused view as a highlight.<br />
         /// </summary>
-        /// <param name="arg0">The user's implementation of ICustomFocusAlgorithm.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
-        {
-            _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
-            _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
-
-            NDalicPINVOKE.SetCustomAlgorithm(swigCPtr, CustomAlgorithmInterface.getCPtr(_customAlgorithmInterfaceWrapper));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static FocusManager Get()
-        {
-            FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void SetFocusGroupLoop(bool enabled)
-        {
-            NDalicManualPINVOKE.FocusManager_SetFocusGroupLoop(swigCPtr, enabled);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal bool GetFocusGroupLoop()
+        public View FocusIndicator
         {
-            bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                SetFocusIndicatorView(value);
+            }
+            get
+            {
+                return GetFocusIndicatorView();
+            }
         }
 
         internal void SetFocusIndicatorView(View indicator)
@@ -455,6 +601,20 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Provides the implementation of a custom focus algorithm interface to allow the application to define the focus logic.<br />
+        /// </summary>
+        /// <param name="arg0">The user's implementation of ICustomFocusAlgorithm.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
+        {
+            _customAlgorithmInterfaceWrapper = new CustomAlgorithmInterfaceWrapper();
+            _customAlgorithmInterfaceWrapper.SetFocusAlgorithm(arg0);
+
+            NDalicPINVOKE.SetCustomAlgorithm(swigCPtr, CustomAlgorithmInterface.getCPtr(_customAlgorithmInterfaceWrapper));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         internal PreFocusChangeSignal PreFocusChangeSignal()
         {
             PreFocusChangeSignal ret = new PreFocusChangeSignal(NDalicManualPINVOKE.FocusManager_PreFocusChangeSignal(swigCPtr), false);
@@ -483,261 +643,61 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private IntPtr OnPreFocusChange(IntPtr current, IntPtr proposed, View.FocusDirection direction)
-        {
-            View view = null;
-            PreFocusChangeEventArgs e = new PreFocusChangeEventArgs();
-
-            if (current != global::System.IntPtr.Zero)
-            {
-                e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            }
-            if (proposed != global::System.IntPtr.Zero)
-            {
-                e.ProposedView = Registry.GetManagedBaseHandleFromNativePtr(proposed) as View;
-            }
-            e.Direction = direction;
-
-            if (_preFocusChangeEventHandler != null)
-            {
-                view = _preFocusChangeEventHandler(this, e);
-            }
-
-            if (view)
-            {
-                return view.GetPtrfromView();
-            }
-            else
-            {
-                if (e.ProposedView) return proposed;
-                else return current;
-            }
-        }
-
-        private void OnFocusChanged(IntPtr current, IntPtr next)
-        {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            e.NextView = Registry.GetManagedBaseHandleFromNativePtr(next) as View;
-
-            if (_focusChangedEventHandler != null)
-            {
-                _focusChangedEventHandler(this, e);
-            }
-        }
-
-        private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
-        {
-            FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
-
-            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            e.ForwardDirection = forwardDirection;
-
-            if (_focusGroupChangedEventHandler != null)
-            {
-                _focusGroupChangedEventHandler(this, e);
-            }
-        }
-
-        private void OnFocusedViewEnterKey(IntPtr view)
-        {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
-
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
-
-            if (_focusedViewEnterKeyEventHandler != null)
-            {
-                _focusedViewEnterKeyEventHandler(this, e);
-            }
-        }
+        private static readonly FocusManager instance = FocusManager.Get();
 
         /// <summary>
-        /// Please do not use! this will be deprecated!
-        /// </summary>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use OnFocusedViewEnterKey.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.OnFocusedViewEnterKey instead!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        private void OnFocusedViewEnterKey2(IntPtr view)
-        {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
-
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
-
-            if (_focusedViewEnterKeyEventHandler != null)
-            {
-                _focusedViewEnterKeyEventHandler(this, e);
-            }
-        }
-
-        ///<summary>
-        /// Event arguments that passed via the PreFocusChange signal.
+        /// Gets the singleton of the FocusManager object.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class PreFocusChangeEventArgs : EventArgs
+        public static FocusManager Instance
         {
-            private View _current;
-            private View _proposed;
-            private View.FocusDirection _direction;
-
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
-
-            /// <summary>
-            /// The  proposed view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View ProposedView
-            {
-                get
-                {
-                    return _proposed;
-                }
-                set
-                {
-                    _proposed = value;
-                }
-            }
-
-            /// <summary>
-            /// The focus move direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View.FocusDirection Direction
+            get
             {
-                get
-                {
-                    return _direction;
-                }
-                set
-                {
-                    _direction = value;
-                }
+                return instance;
             }
         }
 
-        ///<summary>
-        /// Event arguments that passed via the FocusChanged signal.
+        /// <summary>
+        /// ICustomFocusAlgorithm is used to provide the custom keyboard focus algorithm for retrieving the next focusable view.<br />
+        /// The application can implement the interface and override the keyboard focus behavior.<br />
+        /// If the focus is changing within a layout container, then the layout container is queried first to provide the next focusable view.<br />
+        /// If this does not provide a valid view, then the Keyboard FocusManager will check focusable properties to determine the next focusable actor.<br />
+        /// If focusable properties are not set, then the keyboard FocusManager calls the GetNextFocusableView() method of this interface.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class FocusChangedEventArgs : EventArgs
+        public interface ICustomFocusAlgorithm
         {
-            private View _current;
-            private View _next;
-
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
             /// <summary>
-            /// The next focus view.
+            /// Get the next focus actor.
             /// </summary>
+            /// <param name="current">The current focus view.</param>
+            /// <param name="proposed">The proposed focus view</param>
+            /// <param name="direction">The focus move direction</param>
+            /// <returns>The next focus actor.</returns>
             /// <since_tizen> 3 </since_tizen>
-            public View NextView
-            {
-                get
-                {
-                    return _next;
-                }
-                set
-                {
-                    _next = value;
-                }
-            }
+            View GetNextFocusableView(View current, View proposed, View.FocusDirection direction);
         }
 
-        ///<summary>
-        /// Event arguments that passed via the FocusGroupChanged signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class FocusGroupChangedEventArgs : EventArgs
+        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
         {
-            private View _current;
-            private bool _forwardDirection;
+            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
 
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
+            public CustomAlgorithmInterfaceWrapper()
             {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
             }
 
-            /// <summary>
-            /// The forward direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool ForwardDirection
+            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
             {
-                get
-                {
-                    return _forwardDirection;
-                }
-                set
-                {
-                    _forwardDirection = value;
-                }
+                _customFocusAlgorithm = customFocusAlgorithm;
             }
-        }
 
-        ///<summary>
-        /// Event arguments that passed via the FocusedViewEnterKey signal.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class FocusedViewActivatedEventArgs : EventArgs
-        {
-            private View _view;
-
-            /// <summary>
-            /// View.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View View
+            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
             {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
+                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
             }
         }
 
+
         /// <summary>
         /// Please do not use! this will be deprecated
         /// </summary>
@@ -771,25 +731,61 @@ namespace Tizen.NUI
             }
         }
 
-        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
-        {
-            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
+        private EventHandler<FocusedViewEnterKeyEventArgs> _focusedViewEnterKeyEventHandler2;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
+        private FocusedViewEnterKeyEventCallback2 _focusedViewEnterKeyEventCallback2;
 
-            public CustomAlgorithmInterfaceWrapper()
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use FocusedViewActivated.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.FocusedViewActivated instead! " +
+            "Like: " +
+            "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
+            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<FocusedViewEnterKeyEventArgs> FocusedViewEnterKeyPressed
+        {
+            add
             {
+                if (_focusedViewEnterKeyEventCallback2 == null)
+                {
+                    _focusedViewEnterKeyEventCallback2 = OnFocusedViewEnterKey2;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback2);
+                }
+                _focusedViewEnterKeyEventHandler2 += value;
             }
-
-            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
+            remove
             {
-                _customFocusAlgorithm = customFocusAlgorithm;
-            }
+                _focusedViewEnterKeyEventHandler2 -= value;
 
-            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
-            {
-                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
+                if (_focusedViewEnterKeyEventCallback2 != null && FocusedViewEnterKeySignal().Empty() == false)
+                {
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback2);
+                }
             }
         }
 
+        /// <summary>
+        /// Please do not use! this will be deprecated!
+        /// </summary>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use OnFocusedViewEnterKey.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusManager.OnFocusedViewEnterKey instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        private void OnFocusedViewEnterKey2(IntPtr view)
+        {
+            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
 
+            if (_focusedViewEnterKeyEventHandler != null)
+            {
+                _focusedViewEnterKeyEventHandler(this, e);
+            }
+        }
     }
 }
\ No newline at end of file
index 5b771ab..9744511 100755 (executable)
@@ -22,8 +22,6 @@ namespace Tizen.NUI
     /// <since_tizen> 5 </since_tizen>
     public class FontClient : BaseHandle
     {
-
-        private static readonly FontClient instance = FontClient.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         internal FontClient(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.FontClient_SWIGUpcast(cPtr), cMemoryOwn)
@@ -31,14 +29,9 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal FontClient() : this(NDalicManualPINVOKE.new_FontClient__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal FontClient(FontClient handle) : this(NDalicManualPINVOKE.new_FontClient__SWIG_1(FontClient.getCPtr(handle)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FontClient obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         internal static uint DefaultPointSize
@@ -51,63 +44,211 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Gets the singleton pattern of the FontClient object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static FontClient Instance
+        internal class GlyphBufferData : global::System.IDisposable
         {
-            get
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            protected bool swigCMemOwn;
+
+            internal GlyphBufferData(global::System.IntPtr cPtr, bool cMemoryOwn)
             {
-                return instance;
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-        }
 
-        public uint Width
-        {
-            set
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GlyphBufferData obj)
             {
-                NDalicManualPINVOKE.FontClient_GlyphBufferData_width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
             }
-            get
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            protected bool disposed = false;
+
+            ~GlyphBufferData()
             {
-                uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
             }
-        }
 
-        public uint Height
-        {
-            set
+            public void Dispose()
             {
-                NDalicManualPINVOKE.FontClient_GlyphBufferData_height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
             }
-            get
+
+            protected virtual void Dispose(DisposeTypes type)
             {
-                uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //Because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_FontClient_GlyphBufferData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+                disposed = true;
             }
-        }
 
-        public PixelFormat Format
-        {
-            set
+            public GlyphBufferData() : this(NDalicManualPINVOKE.new_FontClient_GlyphBufferData(), true)
             {
-                NDalicManualPINVOKE.FontClient_GlyphBufferData_format_set(swigCPtr, (int)value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+
+            /*public byte[] Buffer
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    global::System.IntPtr cPtr = NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_get(swigCPtr);
+                    SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }*/
+
+            public uint Width
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_width_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_width_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            public uint Height
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_height_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_height_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            public PixelFormat Format
+            {
+                set
+                {
+                    NDalicManualPINVOKE.FontClient_GlyphBufferData_format_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    PixelFormat ret = (PixelFormat)NDalicManualPINVOKE.FontClient_GlyphBufferData_format_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+        }
+        private static readonly FontClient instance = FontClient.Get();
+
+        /// <summary>
+        /// Gets the singleton pattern of the FontClient object.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static FontClient Instance
+        {
             get
             {
-                PixelFormat ret = (PixelFormat)NDalicManualPINVOKE.FontClient_GlyphBufferData_format_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return instance;
             }
         }
 
+        internal static FontClient Get()
+        {
+            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Get(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal FontClient() : this(NDalicManualPINVOKE.new_FontClient__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal FontClient(FontClient handle) : this(NDalicManualPINVOKE.new_FontClient__SWIG_1(FontClient.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal FontClient Assign(FontClient handle)
+        {
+            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Assign(swigCPtr, FontClient.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal void SetDpi(uint horizontalDpi, uint verticalDpi)
+        {
+            NDalicManualPINVOKE.FontClient_SetDpi(swigCPtr, horizontalDpi, verticalDpi);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDpi(SWIGTYPE_p_unsigned_int horizontalDpi, SWIGTYPE_p_unsigned_int verticalDpi)
+        {
+            NDalicManualPINVOKE.FontClient_GetDpi(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(horizontalDpi), SWIGTYPE_p_unsigned_int.getCPtr(verticalDpi));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal int GetDefaultFontSize()
+        {
+            int ret = NDalicManualPINVOKE.FontClient_GetDefaultFontSize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Called when the user changes the system defaults.
         /// </summary>
@@ -118,6 +259,30 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal void GetDefaultFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t defaultFonts)
+        {
+            NDalicManualPINVOKE.FontClient_GetDefaultFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(defaultFonts));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDefaultPlatformFontDescription(FontDescription fontDescription)
+        {
+            NDalicManualPINVOKE.FontClient_GetDefaultPlatformFontDescription(swigCPtr, FontDescription.getCPtr(fontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetSystemFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t systemFonts)
+        {
+            NDalicManualPINVOKE.FontClient_GetSystemFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(systemFonts));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal void GetDescription(uint id, FontDescription fontDescription)
+        {
+            NDalicManualPINVOKE.FontClient_GetDescription(swigCPtr, id, FontDescription.getCPtr(fontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Retrieves the font point size of a given font id.
         /// </summary>
@@ -187,6 +352,27 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize, bool preferColor)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_0(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, preferColor);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_1(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription)
+        {
+            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_2(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Retrieve the unique identifier for a font.
         /// </summary>
@@ -229,115 +415,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Check to see if a font is scalable.
-        /// </summary>
-        /// <param name="path">The path where the font file is located.</param>
-        /// <returns>True if scalable.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool IsScalable(string path)
-        {
-            bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_0(swigCPtr, path);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Adds custom fonts directory.
-        /// </summary>
-        /// <param name="path">Path to the fonts directory.</param>
-        /// <returns>True if the fonts can be added.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool AddCustomFontDirectory(string path)
-        {
-            bool ret = NDalicManualPINVOKE.FontClient_AddCustomFontDirectory(swigCPtr, path);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FontClient obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static FontClient Get()
-        {
-            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Get(), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal FontClient Assign(FontClient handle)
-        {
-            FontClient ret = new FontClient(NDalicManualPINVOKE.FontClient_Assign(swigCPtr, FontClient.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void SetDpi(uint horizontalDpi, uint verticalDpi)
-        {
-            NDalicManualPINVOKE.FontClient_SetDpi(swigCPtr, horizontalDpi, verticalDpi);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDpi(SWIGTYPE_p_unsigned_int horizontalDpi, SWIGTYPE_p_unsigned_int verticalDpi)
-        {
-            NDalicManualPINVOKE.FontClient_GetDpi(swigCPtr, SWIGTYPE_p_unsigned_int.getCPtr(horizontalDpi), SWIGTYPE_p_unsigned_int.getCPtr(verticalDpi));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal int GetDefaultFontSize()
-        {
-            int ret = NDalicManualPINVOKE.FontClient_GetDefaultFontSize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void GetDefaultFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t defaultFonts)
-        {
-            NDalicManualPINVOKE.FontClient_GetDefaultFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(defaultFonts));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDefaultPlatformFontDescription(FontDescription fontDescription)
-        {
-            NDalicManualPINVOKE.FontClient_GetDefaultPlatformFontDescription(swigCPtr, FontDescription.getCPtr(fontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetSystemFonts(SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t systemFonts)
-        {
-            NDalicManualPINVOKE.FontClient_GetSystemFonts(swigCPtr, SWIGTYPE_p_std__vectorT_Dali__TextAbstraction__FontDescription_t.getCPtr(systemFonts));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void GetDescription(uint id, FontDescription fontDescription)
-        {
-            NDalicManualPINVOKE.FontClient_GetDescription(swigCPtr, id, FontDescription.getCPtr(fontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize, bool preferColor)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_0(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, preferColor);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription, uint requestedPointSize)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_1(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription), requestedPointSize);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal uint FindFallbackFont(uint charcode, FontDescription preferredFontDescription)
-        {
-            uint ret = NDalicManualPINVOKE.FontClient_FindFallbackFont__SWIG_2(swigCPtr, charcode, FontDescription.getCPtr(preferredFontDescription));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal uint GetFontId(FontDescription preferredFontDescription, uint requestedPointSize, uint faceIndex)
         {
             uint ret = NDalicManualPINVOKE.FontClient_GetFontId__SWIG_3(swigCPtr, FontDescription.getCPtr(preferredFontDescription), requestedPointSize, faceIndex);
@@ -359,6 +436,19 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Check to see if a font is scalable.
+        /// </summary>
+        /// <param name="path">The path where the font file is located.</param>
+        /// <returns>True if scalable.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool IsScalable(string path)
+        {
+            bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_0(swigCPtr, path);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal bool IsScalable(FontDescription fontDescription)
         {
             bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_1(swigCPtr, FontDescription.getCPtr(fontDescription));
@@ -438,111 +528,17 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal class GlyphBufferData : global::System.IDisposable
+        /// <summary>
+        /// Adds custom fonts directory.
+        /// </summary>
+        /// <param name="path">Path to the fonts directory.</param>
+        /// <returns>True if the fonts can be added.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool AddCustomFontDirectory(string path)
         {
-
-            protected bool swigCMemOwn;
-
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-
-            public GlyphBufferData() : this(NDalicManualPINVOKE.new_FontClient_GlyphBufferData(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            internal GlyphBufferData(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            ~GlyphBufferData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GlyphBufferData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //Because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_FontClient_GlyphBufferData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-                disposed = true;
-            }
-
-            /*public byte[] Buffer
-            {
-                set
-                {
-                    NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    global::System.IntPtr cPtr = NDalicManualPINVOKE.FontClient_GlyphBufferData_buffer_get(swigCPtr);
-                    SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }*/
-
+            bool ret = NDalicManualPINVOKE.FontClient_AddCustomFontDirectory(swigCPtr, path);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
     }
 }
index 65358da..172d719 100755 (executable)
@@ -26,63 +26,60 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Create an instance of Geometry.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Geometry() : this(NDalicPINVOKE.Geometry_New(), true)
+        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Geometry obj)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Enumeration for the description of the type of geometry,
-        /// used to determine how the coordinates will be used.
+        /// Dispose.
         /// </summary>
-        /// <returns>Type of primitives this geometry contains.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum Type
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Individual points.
-            /// </summary>
-            POINTS,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// Individual lines (made of 2 points each).
-            /// </summary>
-            LINES,
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-            /// <summary>
-            /// A strip of lines (made of 1 point each) which also joins the first and last point.
-            /// </summary>
-            LINE_LOOP,
+            }
 
-            /// <summary>
-            /// A strip of lines (made of 1 point each).
-            /// </summary>
-            LINE_STRIP,
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
-            /// <summary>
-            /// Individual triangles (made of 3 points each).
-            /// </summary>
-            TRIANGLES,
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Geometry(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
 
-            /// <summary>
-            /// A fan of triangles around a centre point (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_FAN,
+            base.Dispose(type);
+        }
+
+        /// <summary>
+        /// Create an instance of Geometry.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Geometry() : this(NDalicPINVOKE.Geometry_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            /// <summary>
-            /// A strip of triangles (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_STRIP
         }
 
         /// <summary>
@@ -157,46 +154,50 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Geometry obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Enumeration for the description of the type of geometry,
+        /// used to determine how the coordinates will be used.
         /// </summary>
+        /// <returns>Type of primitives this geometry contains.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public enum Type
         {
-            if (disposed)
-            {
-                return;
-            }
+            /// <summary>
+            /// Individual points.
+            /// </summary>
+            POINTS,
 
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+            /// <summary>
+            /// Individual lines (made of 2 points each).
+            /// </summary>
+            LINES,
 
-            }
+            /// <summary>
+            /// A strip of lines (made of 1 point each) which also joins the first and last point.
+            /// </summary>
+            LINE_LOOP,
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            /// <summary>
+            /// A strip of lines (made of 1 point each).
+            /// </summary>
+            LINE_STRIP,
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Geometry(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            /// <summary>
+            /// Individual triangles (made of 3 points each).
+            /// </summary>
+            TRIANGLES,
 
-            base.Dispose(type);
+            /// <summary>
+            /// A fan of triangles around a centre point (after the first triangle, following triangles need only 1 point).
+            /// </summary>
+            TRIANGLE_FAN,
+
+            /// <summary>
+            /// A strip of triangles (after the first triangle, following triangles need only 1 point).
+            /// </summary>
+            TRIANGLE_STRIP
         }
 
     }
+
 }
\ No newline at end of file
index 37de914..1f57eed 100755 (executable)
@@ -26,38 +26,31 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Gesture : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
-
         /// <summary>
-        /// The Copy constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="rhs">A reference to the copied handle</param>
         /// <since_tizen> 3 </since_tizen>
-        public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -73,71 +66,63 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for type of gesture.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum GestureType
+        public void Dispose()
         {
-            /// <summary>
-            /// When two touch points move away or towards each other.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Pinch = 1 << 0,
-            /// <summary>
-            /// When the user drags their finger(s) in a particular direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Pan = 1 << 1,
-            /// <summary>
-            /// When the user taps the screen.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Tap = 1 << 2,
-            /// <summary>
-            ///  When the user continues to touch the same area on the screen for the device configured time.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LongPress = 1 << 3
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Enumeration for state of the gesture.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum StateType
+        protected virtual void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// There is no state associated with this gesture.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Clear,
-            /// <summary>
-            /// The touched points on the screen have moved enough to be considered a gesture.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Started,
-            /// <summary>
-            /// The gesture is continuing.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Continuing,
-            /// <summary>
-            /// The user has lifted a finger or touched an additional point on the screen.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Finished,
-            /// <summary>
-            /// The gesture has been cancelled.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Cancelled,
-            /// <summary>
-            ///  A gesture is possible.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Possible
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Gesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
+
         /// <summary>
         /// The gesture type.
         /// </summary>
@@ -174,6 +159,16 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The Copy constructor.
+        /// </summary>
+        /// <param name="rhs">A reference to the copied handle</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Gesture(Gesture rhs) : this(NDalicPINVOKE.new_Gesture(Gesture.getCPtr(rhs)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         private Gesture.GestureType type
         {
             set
@@ -220,65 +215,71 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for type of gesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Gesture obj)
+        public enum GestureType
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            /// <summary>
+            /// When two touch points move away or towards each other.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Pinch = 1 << 0,
+            /// <summary>
+            /// When the user drags their finger(s) in a particular direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Pan = 1 << 1,
+            /// <summary>
+            /// When the user taps the screen.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Tap = 1 << 2,
+            /// <summary>
+            ///  When the user continues to touch the same area on the screen for the device configured time.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LongPress = 1 << 3
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for state of the gesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public enum StateType
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Gesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
+            /// <summary>
+            /// There is no state associated with this gesture.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Clear,
+            /// <summary>
+            /// The touched points on the screen have moved enough to be considered a gesture.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Started,
+            /// <summary>
+            /// The gesture is continuing.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Continuing,
+            /// <summary>
+            /// The user has lifted a finger or touched an additional point on the screen.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Finished,
+            /// <summary>
+            /// The gesture has been cancelled.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Cancelled,
+            /// <summary>
+            ///  A gesture is possible.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Possible
         }
+
     }
+
 }
\ No newline at end of file
index d598942..c46e4d7 100755 (executable)
@@ -31,6 +31,54 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal GestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GestureDetector obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_GestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Constructor. Creates an uninitialized GestureDetector.
         /// </summary>
@@ -41,6 +89,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal static GestureDetector DownCast(BaseHandle handle)
+        {
+            GestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as GestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -52,9 +107,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal GestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        internal GestureDetector Assign(GestureDetector rhs)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_Assign(swigCPtr, GestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -119,61 +176,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal GestureDetector Assign(GestureDetector rhs)
-        {
-            GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_Assign(swigCPtr, GestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static GestureDetector DownCast(BaseHandle handle)
-        {
-            GestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as GestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(GestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_GestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
+
 }
index 03dec8a..cd99841 100755 (executable)
  *
  */
 
-using Tizen.NUI.BaseComponents;
-
 namespace Tizen.NUI
 {
+    using Tizen.NUI.BaseComponents;
     /// <summary>
     /// Hover events are a collection of points at a specific moment in time.<br />
     /// When a multi-event occurs, each point represents the points that are currently being
@@ -27,46 +26,31 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Hover : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
-
         /// <summary>
-        /// The default constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="time">The time the event occurred.</param>
-        internal Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -82,45 +66,79 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The time (in ms) that the hover event occurred.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public uint Time
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                return time;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        private TouchPointContainer points
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
-                TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
-        private uint time
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Hover_time_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Hover(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
+        }
+
+
+        internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
+        {
+            Hover ret = new Hover(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The time (in ms) that the hover event occurred.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint Time
+        {
             get
             {
-                uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return time;
             }
         }
 
@@ -208,48 +226,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the total number of points.
+        /// The default constructor.
         /// </summary>
-        /// <returns>Total number of points.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint GetPointCount()
+        public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
         {
-            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        /// <param name="time">The time the event occurred.</param>
+        internal Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
+        private TouchPointContainer points
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Hover_points_get(swigCPtr);
+                TouchPointContainer ret = (cPtr == global::System.IntPtr.Zero) ? null : new TouchPointContainer(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
+        private uint time
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            set
+            {
+                NDalicPINVOKE.Hover_time_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Returns the total number of points.
+        /// </summary>
+        /// <returns>Total number of points.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetPointCount()
         {
-            Hover ret = new Hover(cPtr, false);
+            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -261,38 +293,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Hover(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
     }
+
 }
\ No newline at end of file
index 6aeee67..8f68927 100755 (executable)
@@ -31,330 +31,499 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private StatusChangedEventCallbackType _statusChangedEventCallback;
-        private ResizedEventCallbackType _resizedEventCallback;
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-
-        /// <summary>
-        /// Constructor.<br/>
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public ImfManager() : this(NDalicManualPINVOKE.InputMethodContext_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal ImfManager(ImfManager imfManager) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(ImfManager.getCPtr(imfManager)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
-        private delegate void StatusChangedEventCallbackType(bool statusChanged);
-        private delegate void ResizedEventCallbackType(int resized);
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+        }
 
         /// <summary>
-        /// ImfManager activated.
+        /// Gets the singleton of the ImfManager object.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
+        /// <since_tizen> 5 </since_tizen>
+        public static ImfManager Instance
         {
-            add
-            {
-                if (_activatedEventHandler == null)
-                {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
-                }
-
-                _activatedEventHandler += value;
-            }
-            remove
+            get
             {
-                _activatedEventHandler -= value;
-
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
-                {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
-                }
+                return new ImfManager();
             }
         }
 
         /// <summary>
-        /// ImfManager event received.
+        /// Dispose.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
+        /// <param name="type">Dispose Type</param>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please DO NOT use! This will be deprecated!
+        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, ImfManager, TtsPlayer, Window) is not required.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
         {
-            add
+            if (disposed)
             {
-                if (_eventReceivedEventHandler == null)
-                {
-                    _eventReceivedEventCallback = OnEventReceived;
-                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
-                }
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-                _eventReceivedEventHandler += value;
             }
-            remove
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (_keyboardTypeChangedEventCallback != null)
             {
-                _eventReceivedEventHandler -= value;
+                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+            }
 
-                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
                 }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// ImfManager status changed.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<StatusChangedEventArgs> StatusChanged
+        /// <since_tizen> 3 </since_tizen>
+        public class ImfEventData : global::System.IDisposable
         {
-            add
-            {
-                if (_statusChangedEventHandler == null)
-                {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
-                }
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-                _statusChangedEventHandler += value;
+            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-            remove
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
             {
-                _statusChangedEventHandler -= value;
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
 
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfEventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
             }
-        }
 
-        /// <summary>
-        /// ImfManager resized.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
-        {
-            add
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
             {
-                if (_resizedEventHandler == null)
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
                 {
-                    _resizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_resizedEventCallback);
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
                 }
 
-                _resizedEventHandler += value;
-            }
-            remove
-            {
-                _resizedEventHandler -= value;
-
-                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                if (isDisposeQueued)
                 {
-                    ResizedSignal().Disconnect(_resizedEventCallback);
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
                 }
             }
-        }
 
-        /// <summary>
-        /// ImfManager language changed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
             {
-                if (_languageChangedEventHandler == null)
+                if (disposed)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    return;
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
-
-                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
-            }
-        }
 
-        /// <summary>
-        /// ImfManager keyboard type changed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
-        {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
 
-                _keyboardTypeChangedEventHandler += value;
+                disposed = true;
             }
-            remove
-            {
-                _keyboardTypeChangedEventHandler -= value;
 
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
+            {
+                ImfEventData ret = new ImfEventData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-        }
 
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
-        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
-        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
-
-        /// <summary>
-        /// The direction of the text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TextDirection
-        {
-            /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
             /// <summary>
-            /// Right to left.
+            /// The default constructor.
             /// </summary>
-            RightToLeft
-        }
+            /// <since_tizen> 3 </since_tizen>
+            public ImfEventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
 
-        /// <summary>
-        /// Events that are generated by the IMF.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum ImfEvent
-        {
             /// <summary>
-            /// No event.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Void,
-            /// <summary>
-            /// Pre-Edit changed.
+            /// The constructor.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Preedit,
+            /// <param name="aEventName">The name of the event from the IMF.</param>
+            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
+            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
+            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfEventData(ImfManager.ImfEvent aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
             /// <summary>
-            /// Commit received.
+            /// The pre-edit or the commit string.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            Commit,
+            public string PredictiveString
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// An event to delete a range of characters from the string.
+            /// The name of the event from the IMF.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            DeleteSurrounding,
+            public ImfManager.ImfEvent EventName
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// An event to query string and the cursor position.
+            /// The start position from the current cursor position to start deleting characters.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            GetSurrounding,
+            public int CursorOffset
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// Private command sent from the input panel.
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            PrivateCommand
+            public int NumberOfChars
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// Data required by the IMF from the callback.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum State
+        public class ImfCallbackData : global::System.IDisposable
         {
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// Unknown state.
+            /// swigCMemOwn
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Default = 0,
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
+
+            internal IntPtr GetImfCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfCallbackData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
             /// <summary>
-            /// Input panel is shown.
+            /// A Flat to check if it is already disposed.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Show,
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
+
+
             /// <summary>
-            /// Input panel is hidden.
+            /// Dispose.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            Hide,
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfCallbackData()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
             /// <summary>
-            /// Input panel in process of being shown.
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
+
+            internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
+            {
+                ImfCallbackData ret = new ImfCallbackData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+
+            /// <summary>
+            /// The default constructor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
+            /// <param name="aCursorPosition">The new position of the cursor.</param>
+            /// <param name="aCurrentText">The current text string.</param>
+            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
+            /// <since_tizen> 3 </since_tizen>
+            public ImfCallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
+            /// <summary>
+            /// The current text string.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            WillShow
-        }
+            public string CurrentText
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
 
-        /// <summary>
-        /// Enumeration for the types of keyboard.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public enum KeyboardType
-        {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
+            /// The current text string.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            SoftwareKeyboard,
+            public int CursorPosition
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// Hardware keyboard.
+            /// If the cursor position needs to be updated.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            HardwareKeyboard
-        }
+            public bool Update
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
 
-        /// <summary>
-        /// Gets the singleton of the ImfManager object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static ImfManager Instance
-        {
-            get
+            /// <summary>
+            /// Flags if preedit reset is required.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public bool PreeditResetRequired
             {
-                return new ImfManager();
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
             }
-        }
 
-        /// <summary>
-        /// Retrieves a handle to the instance of the ImfManager.
-        /// </summary>
-        /// <returns>A handle to the ImfManager.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static ImfManager Get()
-        {
-            return new ImfManager();
         }
 
         /// <summary>
@@ -372,14 +541,47 @@ namespace Tizen.NUI
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         /// Please do not use! This will be deprecated, instead please USE Tizen.NUI.ImfManager.Instance.DestroyContext()!
-#pragma warning disable 0465
         [Obsolete("Please do not use! This will be deprecated! Please use ImfManager.Instance.DestroyContext() instead!")]
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void Finalize()
         {
             DestroyContext();
         }
-#pragma warning restore 0465
+
+        /// <summary>
+        /// Retrieves a handle to the instance of the ImfManager.
+        /// </summary>
+        /// <returns>A handle to the ImfManager.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static ImfManager Get()
+        {
+            return new ImfManager();
+        }
+
+        /// <summary>
+        /// Constructor.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public ImfManager () : this (NDalicManualPINVOKE.InputMethodContext_New(), true) {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+  
+        internal ImfManager(ImfManager imfManager) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(ImfManager.getCPtr(imfManager)), true) {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal ImfManager Assign(ImfManager imfManager) {
+            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, ImfManager.getCPtr(imfManager)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static ImfManager DownCast(BaseHandle handle) {
+            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
         /// <summary>
         /// Activates the IMF.<br/>
@@ -533,6 +735,12 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal void ApplyOptions(InputMethodOptions options)
+        {
+            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Sets up the input-panel specific data.
         /// </summary>
@@ -618,765 +826,553 @@ namespace Tizen.NUI
         /// <since_tizen> 4 </since_tizen>
         public ImfManager.KeyboardType GetKeyboardType()
         {
-            ImfManager.KeyboardType ret = (ImfManager.KeyboardType)NDalicManualPINVOKE.InputMethodContext_GetKeyboardType(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Gets the current language locale of the input panel.<br/>
-        /// For example, en_US, en_GB, en_PH, fr_FR, ...
-        /// </summary>
-        /// <returns>The current language locale of the input panel.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public string GetInputPanelLocale()
-        {
-            string ret = NDalicManualPINVOKE.InputMethodContext_GetInputPanelLocale(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal ImfManager Assign(ImfManager imfManager)
-        {
-            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, ImfManager.getCPtr(imfManager)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static ImfManager DownCast(BaseHandle handle)
-        {
-            ImfManager ret = new ImfManager(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void ApplyOptions(InputMethodOptions options)
-        {
-            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal ActivatedSignalType ActivatedSignal()
-        {
-            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal KeyboardEventSignalType EventReceivedSignal()
-        {
-            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal StatusSignalType StatusChangedSignal()
-        {
-            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal KeyboardResizedSignalType ResizedSignal()
-        {
-            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal LanguageChangedSignalType LanguageChangedSignal()
-        {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">Dispose Type</param>
-        /// <since_tizen> 3 </since_tizen>
-        /// Please DO NOT use! This will be deprecated!
-        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, ImfManager, TtsPlayer, Window) is not required.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (_keyboardTypeChangedEventCallback != null)
-            {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        private void OnActivated(IntPtr data)
-        {
-            ActivatedEventArgs e = new ActivatedEventArgs();
-
-            if (data != null)
-            {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
-            }
-
-            if (_activatedEventHandler != null)
-            {
-                _activatedEventHandler(this, e);
-            }
-        }
-
-        private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
-        {
-            ImfCallbackData imfCallbackData = null;
-
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
-
-            if (imfManager != null)
-            {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
-            }
-            if (imfEventData != null)
-            {
-                e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
-            }
-
-            if (_eventReceivedEventHandler != null)
-            {
-                imfCallbackData = _eventReceivedEventHandler(this, e);
-            }
-            if (imfCallbackData != null)
-            {
-                return imfCallbackData.GetImfCallbackDataPtr();
-            }
-            else
-            {
-                return new ImfCallbackData().GetImfCallbackDataPtr();
-            }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
-
-            if (_statusChangedEventHandler != null)
-            {
-                _statusChangedEventHandler(this, e);
-            }
-        }
-
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
-
-            if (_resizedEventHandler != null)
-            {
-                _resizedEventHandler(this, e);
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
-
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
-            }
+            ImfManager.KeyboardType ret = (ImfManager.KeyboardType)NDalicManualPINVOKE.InputMethodContext_GetKeyboardType(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private void OnKeyboardTypeChanged(KeyboardType type)
+        /// <summary>
+        /// Gets the current language locale of the input panel.<br/>
+        /// For example, en_US, en_GB, en_PH, fr_FR, ...
+        /// </summary>
+        /// <returns>The current language locale of the input panel.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public string GetInputPanelLocale()
         {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
-
-            if (_keyboardTypeChangedEventHandler != null)
-            {
-                _keyboardTypeChangedEventHandler(this, e);
-            }
+            string ret = NDalicManualPINVOKE.InputMethodContext_GetInputPanelLocale(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
+        /// ImfManager activated event arguments.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ImfEventData : global::System.IDisposable
+        /// <since_tizen> 4 </since_tizen>
+        public class ActivatedEventArgs : EventArgs
         {
             /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-
-            /// <summary>
-            /// The default constructor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfEventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The constructor.
+            /// ImfManager
             /// </summary>
-            /// <param name="aEventName">The name of the event from the IMF.</param>
-            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
-            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
-            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfEventData(ImfManager.ImfEvent aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
+            /// <since_tizen> 4 </since_tizen>
+            public ImfManager ImfManager
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                get;
+                set;
             }
+        }
 
-            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ActivatedEventCallbackType(IntPtr data);
+        private ActivatedEventCallbackType _activatedEventCallback;
+        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~ImfEventData()
+        /// <summary>
+        /// ImfManager activated.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<ActivatedEventArgs> Activated
+        {
+            add
             {
-                if (!isDisposeQueued)
+                if (_activatedEventHandler == null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
                 }
-            }
 
-            /// <summary>
-            /// The pre-edit or the commit string.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public string PredictiveString
+                _activatedEventHandler += value;
+            }
+            remove
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
+                _activatedEventHandler -= value;
+
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
                 {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The name of the event from the IMF.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfManager.ImfEvent EventName
+        private void OnActivated(IntPtr data)
+        {
+            ActivatedEventArgs e = new ActivatedEventArgs();
+
+            if (data != null)
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    ImfManager.ImfEvent ret = (ImfManager.ImfEvent)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
             }
 
-            /// <summary>
-            /// The start position from the current cursor position to start deleting characters.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int CursorOffset
+            if (_activatedEventHandler != null)
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                _activatedEventHandler(this, e);
             }
+        }
+
+        internal ActivatedSignalType ActivatedSignal()
+        {
+            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// ImfManager event received event arguments.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public class EventReceivedEventArgs : EventArgs
+        {
             /// <summary>
-            /// The number of characters to delete from the cursorOffset.
+            /// ImfManager
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int NumberOfChars
+            public ImfManager ImfManager
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                get;
+                set;
             }
 
             /// <summary>
-            /// The dispose pattern.
+            /// ImfEventData
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
+            /// <since_tizen> 4 </since_tizen>
+            public ImfEventData ImfEventData
             {
-                ImfEventData ret = new ImfEventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                get;
+                set;
             }
+        }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-            }
+        private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
+        private EventReceivedEventCallbackType _eventReceivedEventCallback;
+        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// ImfManager event received.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
+        {
+            add
             {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
+                if (_eventReceivedEventHandler == null)
                 {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
                 }
 
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
+                _eventReceivedEventHandler += value;
+            }
+            remove
+            {
+                _eventReceivedEventHandler -= value;
 
-                if (swigCPtr.Handle != IntPtr.Zero)
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
-
-                disposed = true;
             }
         }
 
-        /// <summary>
-        /// Data required by the IMF from the callback.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ImfCallbackData : global::System.IDisposable
+        private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
         {
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            /// <summary>
-            /// A Flat to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            ImfCallbackData imfCallbackData = null;
 
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
+            EventReceivedEventArgs e = new EventReceivedEventArgs();
 
-            /// <summary>
-            /// The default constructor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
+            if (imfManager != null)
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
             }
-
-            /// <summary>
-            /// The constructor.
-            /// </summary>
-            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
-            /// <param name="aCursorPosition">The new position of the cursor.</param>
-            /// <param name="aCurrentText">The current text string.</param>
-            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfCallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
+            if (imfEventData != null)
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
             }
 
-            internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
+            if (_eventReceivedEventHandler != null)
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+                imfCallbackData = _eventReceivedEventHandler(this, e);
             }
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~ImfCallbackData()
+            if (imfCallbackData != null)
             {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
+                return imfCallbackData.GetImfCallbackDataPtr();
+            }
+            else
+            {
+                return new ImfCallbackData().GetImfCallbackDataPtr();
             }
+        }
+
+        internal KeyboardEventSignalType EventReceivedSignal()
+        {
+            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// ImfManager status changed event arguments.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public class StatusChangedEventArgs : EventArgs
+        {
             /// <summary>
-            /// The current text string.
+            /// ImfManager status
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public string CurrentText
+            public bool StatusChanged
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                get;
+                set;
             }
+        }
 
-            /// <summary>
-            /// The current text string.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int CursorPosition
+        private delegate void StatusChangedEventCallbackType(bool statusChanged);
+        private StatusChangedEventCallbackType _statusChangedEventCallback;
+        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
+
+        /// <summary>
+        /// ImfManager status changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
+        {
+            add
             {
-                set
+                if (_statusChangedEventHandler == null)
                 {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
                 }
-                get
+
+                _statusChangedEventHandler += value;
+            }
+            remove
+            {
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// If the cursor position needs to be updated.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public bool Update
+        private void OnStatusChanged(bool statusChanged)
+        {
+            StatusChangedEventArgs e = new StatusChangedEventArgs();
+
+            e.StatusChanged = statusChanged;
+
+            if (_statusChangedEventHandler != null)
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                _statusChangedEventHandler(this, e);
             }
+        }
+
+        internal StatusSignalType StatusChangedSignal()
+        {
+            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// ImfManager resized event.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public class ResizedEventArgs : EventArgs
+        {
             /// <summary>
-            /// Flags if preedit reset is required.
+            /// resized.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool PreeditResetRequired
+            public int Resized
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                get;
+                set;
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
+        private delegate void ResizedEventCallbackType(int resized);
+        private ResizedEventCallbackType _resizedEventCallback;
+        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
+
+        /// <summary>
+        /// ImfManager resized.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<ResizedEventArgs> Resized
+        {
+            add
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
+                if (_resizedEventHandler == null)
                 {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                    _resizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_resizedEventCallback);
                 }
 
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
+                _resizedEventHandler += value;
             }
-
-            internal IntPtr GetImfCallbackDataPtr()
+            remove
             {
-                return (IntPtr)swigCPtr;
-            }
+                _resizedEventHandler -= value;
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfCallbackData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                {
+                    ResizedSignal().Disconnect(_resizedEventCallback);
+                }
             }
+        }
+
+        private void OnResized(int resized)
+        {
+            ResizedEventArgs e = new ResizedEventArgs();
+            e.Resized = resized;
 
-            internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
+            if (_resizedEventHandler != null)
             {
-                ImfCallbackData ret = new ImfCallbackData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _resizedEventHandler(this, e);
             }
+        }
+
+        internal KeyboardResizedSignalType ResizedSignal()
+        {
+            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// ImfManager language changed event args.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public class LanguageChangedEventArgs : EventArgs
+        {
             /// <summary>
-            /// Dispose.
+            /// language changed.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+            /// <since_tizen> 4 </since_tizen>
+            public int LanguageChanged
             {
-                if (disposed)
-                {
-                    return;
-                }
+                get;
+                set;
+            }
+        }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+        private delegate void LanguageChangedEventCallbackType(int languageChanged);
+        private LanguageChangedEventCallbackType _languageChangedEventCallback;
+        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
 
+        /// <summary>
+        /// ImfManager language changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
+            {
+                if (_languageChangedEventHandler == null)
+                {
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
-                if (swigCPtr.Handle != IntPtr.Zero)
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
                 }
+            }
+        }
 
-                disposed = true;
+        private void OnLanguageChanged(int languageChanged)
+        {
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.LanguageChanged = languageChanged;
+
+            if (_languageChangedEventHandler != null)
+            {
+                _languageChangedEventHandler(this, e);
             }
         }
 
+        internal LanguageChangedSignalType LanguageChangedSignal()
+        {
+            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// ImfManager activated event arguments.
+        /// ImfManager keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// ImfManager
+            /// ImfManager keyboard type
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
+            public KeyboardType KeyboardType
             {
                 get;
                 set;
             }
         }
 
+        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
+        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
+
         /// <summary>
-        /// ImfManager event received event arguments.
+        /// ImfManager keyboard type changed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public class EventReceivedEventArgs : EventArgs
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
         {
-            /// <summary>
-            /// ImfManager
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
+            add
             {
-                get;
-                set;
+                if (_keyboardTypeChangedEventHandler == null)
+                {
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
+                }
+
+                _keyboardTypeChangedEventHandler += value;
             }
+            remove
+            {
+                _keyboardTypeChangedEventHandler -= value;
 
-            /// <summary>
-            /// ImfEventData
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfEventData ImfEventData
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
+            }
+        }
+
+        private void OnKeyboardTypeChanged(KeyboardType type)
+        {
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
             {
-                get;
-                set;
+                _keyboardTypeChangedEventHandler(this, e);
             }
         }
 
+        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
+        {
+            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// ImfManager status changed event arguments.
+        /// The direction of the text.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class StatusChangedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public enum TextDirection
         {
             /// <summary>
-            /// ImfManager status
+            /// Left to right.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public bool StatusChanged
-            {
-                get;
-                set;
-            }
+            LeftToRight,
+            /// <summary>
+            /// Right to left.
+            /// </summary>
+            RightToLeft
         }
 
         /// <summary>
-        /// ImfManager resized event.
+        /// Events that are generated by the IMF.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class ResizedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public enum ImfEvent
         {
             /// <summary>
-            /// resized.
+            /// No event.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int Resized
-            {
-                get;
-                set;
-            }
+            Void,
+            /// <summary>
+            /// Pre-Edit changed.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            Preedit,
+            /// <summary>
+            /// Commit received.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            Commit,
+            /// <summary>
+            /// An event to delete a range of characters from the string.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            DeleteSurrounding,
+            /// <summary>
+            /// An event to query string and the cursor position.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            GetSurrounding,
+            /// <summary>
+            /// Private command sent from the input panel.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            PrivateCommand
         }
 
         /// <summary>
-        /// ImfManager language changed event args.
+        /// Enumeration for the state of the input panel.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class LanguageChangedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public enum State
         {
             /// <summary>
-            /// language changed.
+            /// Unknown state.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int LanguageChanged
-            {
-                get;
-                set;
-            }
+            Default = 0,
+            /// <summary>
+            /// Input panel is shown.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            Show,
+            /// <summary>
+            /// Input panel is hidden.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            Hide,
+            /// <summary>
+            /// Input panel in process of being shown.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            WillShow
         }
 
         /// <summary>
-        /// ImfManager keyboard type changed event arguments.
+        /// Enumeration for the types of keyboard.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public enum KeyboardType
         {
             /// <summary>
-            /// ImfManager keyboard type
+            /// Software keyboard (virtual keyboard) is default.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public KeyboardType KeyboardType
-            {
-                get;
-                set;
-            }
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            HardwareKeyboard
         }
     }
 }
index f376c65..499b73c 100755 (executable)
@@ -36,6 +36,140 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Gets or sets the panel layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PanelLayoutType PanelLayout
+        {
+            get
+            {
+                return _panelLayout ?? PanelLayoutType.Normal;
+            }
+            set
+            {
+                _panelLayout = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the action button.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ActionButtonTitleType ActionButton
+        {
+            get
+            {
+                return _actionButton ?? ActionButtonTitleType.Default;
+            }
+            set
+            {
+                _actionButton = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the auto capital.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public AutoCapitalType AutoCapital
+        {
+            get
+            {
+                return _autoCapital ?? AutoCapitalType.None;
+            }
+            set
+            {
+                _autoCapital = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Variation
+        {
+            get
+            {
+                return _variation ?? 0;
+            }
+            set
+            {
+                _variation = value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for normal layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public NormalLayoutType NormalVariation
+        {
+            get
+            {
+                return (NormalLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for the number only layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public NumberOnlyLayoutType NumberOnlyVariation
+        {
+            get
+            {
+                return (NumberOnlyLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets the variation for the password layout.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PasswordLayoutType PasswordVariation
+        {
+            get
+            {
+                return (PasswordLayoutType) (_variation ?? 0);
+            }
+            set
+            {
+                _variation = (int)value;
+            }
+        }
+
+        private PropertyMap ComposingInputMethodMap()
+        {
+            PropertyMap _outputMap = new PropertyMap();
+            if (_panelLayout != null) { _outputMap.Add("PANEL_LAYOUT", new PropertyValue((int)_panelLayout)); }
+            if (_actionButton != null) { _outputMap.Add("BUTTON_ACTION", new PropertyValue((int)_actionButton)); }
+            if (_autoCapital != null) { _outputMap.Add("AUTO_CAPITALIZE", new PropertyValue((int)_autoCapital)); }
+            if (_variation != null) { _outputMap.Add("VARIATION", new PropertyValue((int)_variation)); }
+            return _outputMap;
+        }
+
+        /// <summary>
+        /// Gets the input method map.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap OutputMap
+        {
+            get
+            {
+                return ComposingInputMethodMap();
+            }
+        }
+
+        /// <summary>
         /// SetType that can be changed in the system input method.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -259,138 +393,5 @@ namespace Tizen.NUI
             WithNumberOnly
         }
 
-        /// <summary>
-        /// Gets or sets the panel layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PanelLayoutType PanelLayout
-        {
-            get
-            {
-                return _panelLayout ?? PanelLayoutType.Normal;
-            }
-            set
-            {
-                _panelLayout = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the action button.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ActionButtonTitleType ActionButton
-        {
-            get
-            {
-                return _actionButton ?? ActionButtonTitleType.Default;
-            }
-            set
-            {
-                _actionButton = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the auto capital.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public AutoCapitalType AutoCapital
-        {
-            get
-            {
-                return _autoCapital ?? AutoCapitalType.None;
-            }
-            set
-            {
-                _autoCapital = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Variation
-        {
-            get
-            {
-                return _variation ?? 0;
-            }
-            set
-            {
-                _variation = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for normal layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public NormalLayoutType NormalVariation
-        {
-            get
-            {
-                return (NormalLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for the number only layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public NumberOnlyLayoutType NumberOnlyVariation
-        {
-            get
-            {
-                return (NumberOnlyLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the variation for the password layout.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PasswordLayoutType PasswordVariation
-        {
-            get
-            {
-                return (PasswordLayoutType) (_variation ?? 0);
-            }
-            set
-            {
-                _variation = (int)value;
-            }
-        }
-
-        /// <summary>
-        /// Gets the input method map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap OutputMap
-        {
-            get
-            {
-                return ComposingInputMethodMap();
-            }
-        }
-
-        private PropertyMap ComposingInputMethodMap()
-        {
-            PropertyMap _outputMap = new PropertyMap();
-            if (_panelLayout != null) { _outputMap.Add("PANEL_LAYOUT", new PropertyValue((int)_panelLayout)); }
-            if (_actionButton != null) { _outputMap.Add("BUTTON_ACTION", new PropertyValue((int)_actionButton)); }
-            if (_autoCapital != null) { _outputMap.Add("AUTO_CAPITALIZE", new PropertyValue((int)_autoCapital)); }
-            if (_variation != null) { _outputMap.Add("VARIATION", new PropertyValue((int)_variation)); }
-            return _outputMap;
-        }
     }
 }
\ No newline at end of file
index 368231a..e7e5794 100755 (executable)
@@ -29,333 +29,538 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private StatusChangedEventCallbackType _statusChangedEventCallback;
-        private ResizedEventCallbackType _resizedEventCallback;
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-
-        /// <summary>
-        /// Constructor.<br/>
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public InputMethodContext() : this(NDalicManualPINVOKE.InputMethodContext_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
         internal InputMethodContext(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr inputMethodContext, IntPtr eventData);
-        private delegate void StatusChangedEventCallbackType(bool statusChanged);
-        private delegate void ResizedEventCallbackType(int resized);
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputMethodContext obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+        }
 
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> _eventReceivedEventHandler;
-        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
-        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
 
         /// <summary>
-        /// InputMethodContext activated.
+        /// Dispose
         /// </summary>
+        /// <param name="type">Dispose Type</param>
         /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
+        /// Please DO NOT use! This will be deprecated!
+        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, InputMethodContext, TtsPlayer, Window) is not required.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        protected override void Dispose(DisposeTypes type)
         {
-            add
+            if (disposed)
             {
-                if (_activatedEventHandler == null)
-                {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
-                }
-
-                _activatedEventHandler += value;
+                return;
             }
-            remove
+
+            if (type == DisposeTypes.Explicit)
             {
-                _activatedEventHandler -= value;
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
 
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
-                {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
-                }
             }
-        }
 
-        /// <summary>
-        /// InputMethodContext event received.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
-        {
-            add
-            {
-                if (_eventReceivedEventHandler == null)
-                {
-                    _eventReceivedEventCallback = OnEventReceived;
-                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
-                }
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
 
-                _eventReceivedEventHandler += value;
-            }
-            remove
+            if (_keyboardTypeChangedEventCallback != null)
             {
-                _eventReceivedEventHandler -= value;
+                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+            }
 
-                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
                 }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// InputMethodContext status changed.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<StatusChangedEventArgs> StatusChanged
+        public class EventData : global::System.IDisposable
         {
-            add
-            {
-                if (_statusChangedEventHandler == null)
-                {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
-                }
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool swigCMemOwn;
 
-                _statusChangedEventHandler += value;
+            internal EventData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-            remove
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
             {
-                _statusChangedEventHandler -= value;
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
 
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+            //A flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+            /// <summary>
+            /// A flag to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool disposed = false;
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            ~EventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
             }
-        }
 
-        /// <summary>
-        /// InputMethodContext resized.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
-        {
-            add
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public void Dispose()
             {
-                if (_resizedEventHandler == null)
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
                 {
-                    _resizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_resizedEventCallback);
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
                 }
 
-                _resizedEventHandler += value;
-            }
-            remove
-            {
-                _resizedEventHandler -= value;
-
-                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                if (isDisposeQueued)
                 {
-                    ResizedSignal().Disconnect(_resizedEventCallback);
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
                 }
             }
-        }
 
-        /// <summary>
-        /// InputMethodContext language changed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
             {
-                if (_languageChangedEventHandler == null)
+                if (disposed)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    return;
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= value;
-
-                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
-            }
-        }
 
-        /// <summary>
-        /// InputMethodContext keyboard type changed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
-        {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
 
-                _keyboardTypeChangedEventHandler += value;
+                disposed = true;
             }
-            remove
-            {
-                _keyboardTypeChangedEventHandler -= value;
 
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
+            {
+                EventData ret = new EventData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-        }
 
-        /// <summary>
-        /// The direction of the text.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public enum TextDirection
-        {
             /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
-            /// <summary>
-            /// Right to left.
-            /// </summary>
-            RightToLeft
-        }
-
-        /// <summary>
-        /// Events that are generated by the IMF.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public enum EventType
-        {
-            /// <summary>
-            /// No event.
+            /// The default constructor.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            Void,
+            public EventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
             /// <summary>
-            /// Pre-edit changed.
+            /// The constructor.
             /// </summary>
+            /// <param name="aEventName">The name of the event from the IMF.</param>
+            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
+            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
+            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
             /// <since_tizen> 5 </since_tizen>
-            Preedit,
+            public EventData(InputMethodContext.EventType aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
             /// <summary>
-            /// Commit received.
+            /// The pre-edit or the commit string.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            Commit,
+            public string PredictiveString
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// An event to delete a range of characters from the string.
+            /// The name of the event from the IMF.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            DeleteSurrounding,
+            public InputMethodContext.EventType EventName
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    InputMethodContext.EventType ret = (InputMethodContext.EventType)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// An event to query string and the cursor position.
+            /// The start position from the current cursor position to start deleting characters.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            GetSurrounding,
+            public int CursorOffset
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
             /// <summary>
-            /// Private command sent from the input panel.
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            PrivateCommand
+            public int NumberOfChars
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// Data required by the IMF from the callback.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum State
+        public class CallbackData : global::System.IDisposable
         {
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// Unknown state.
+            /// swigCMemOwn
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            Default = 0,
+            protected bool swigCMemOwn;
+
+            internal IntPtr GetCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            internal CallbackData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CallbackData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
             /// <summary>
-            /// Input panel is shown.
+            /// A Flag to check if it is already disposed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            Show,
+            protected bool disposed = false;
+
+
             /// <summary>
-            /// Input panel is hidden.
+            /// Dispose.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            Hide,
+            ~CallbackData()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
             /// <summary>
-            /// Input panel in process of being shown.
+            /// The dispose pattern.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            WillShow
-        }
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
 
-        /// <summary>
-        /// Enumeration for the types of keyboard.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public enum KeyboardType
-        {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
+            /// Dispose.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            SoftwareKeyboard,
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //Because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
+
+            internal static CallbackData GetCallbackDataFromPtr(IntPtr cPtr)
+            {
+                CallbackData ret = new CallbackData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+
             /// <summary>
-            /// Hardware keyboard.
+            /// The default constructor.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            HardwareKeyboard
-        }
-
-        /// <summary>
-        /// Gets or sets whether the IM context allows to use the text prediction.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool TextPrediction
-        {
-            get
+            public CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
             {
-                return IsTextPredictionAllowed();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            set
+
+            /// <summary>
+            /// The constructor.
+            /// </summary>
+            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
+            /// <param name="aCursorPosition">The new position of the cursor.</param>
+            /// <param name="aCurrentText">The current text string.</param>
+            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
+            /// <since_tizen> 5 </since_tizen>
+            public CallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
             {
-                AllowTextPrediction(value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        /// <summary>
-        /// Destroys the context of the IMF.<br/>
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public void DestroyContext()
+            /// <summary>
+            /// The current text string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public string CurrentText
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// The current cursor position.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int CursorPosition
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// If the cursor position needs to be updated.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public bool Update
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+            /// <summary>
+            /// Flags if the pre-edit reset is required.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public bool PreeditResetRequired
+            {
+                set
+                {
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+                get
+                {
+                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
+                }
+            }
+
+        }
+
+        /// <summary>
+        /// Destroys the context of the IMF.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public void DestroyContext()
         {
             NDalicManualPINVOKE.InputMethodContext_Finalize(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
+        /// Destroys the context of the IMF.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        /// Please do not use! This will be deprecated, instead please USE Tizen.NUI.InputMethodContext.Instance.DestroyContext()!
+        [Obsolete("Please do not use! This will be deprecated! Please use InputMethodContext.Instance.DestroyContext() instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void Finalize()
+        {
+            DestroyContext();
+        }
+
+        /// <summary>
+        /// Constructor.<br/>
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public InputMethodContext () : this (NDalicManualPINVOKE.InputMethodContext_New(), true) {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+  
+        internal InputMethodContext(InputMethodContext inputMethodContext) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(InputMethodContext.getCPtr(inputMethodContext)), true) {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal InputMethodContext Assign(InputMethodContext inputMethodContext) {
+            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, InputMethodContext.getCPtr(inputMethodContext)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static InputMethodContext DownCast(BaseHandle handle) {
+            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
         /// Activates the IMF.<br/>
         /// It means that the text editing has started.<br/>
         /// If the hardware keyboard is not connected, then it shows the virtual keyboard.
@@ -507,6 +712,12 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal void ApplyOptions(InputMethodOptions options)
+        {
+            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Sets up the input panel specific data.
         /// </summary>
@@ -610,36 +821,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputMethodContext obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal InputMethodContext(InputMethodContext inputMethodContext) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(InputMethodContext.getCPtr(inputMethodContext)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal InputMethodContext Assign(InputMethodContext inputMethodContext)
-        {
-            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_Assign(swigCPtr, InputMethodContext.getCPtr(inputMethodContext)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static InputMethodContext DownCast(BaseHandle handle)
-        {
-            InputMethodContext ret = new InputMethodContext(NDalicManualPINVOKE.InputMethodContext_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal void ApplyOptions(InputMethodOptions options)
-        {
-            NDalicManualPINVOKE.InputMethodContext_ApplyOptions(swigCPtr, InputMethodOptions.getCPtr(options));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal void AllowTextPrediction(bool prediction)
         {
             NDalicManualPINVOKE.InputMethodContext_AllowTextPrediction(swigCPtr, prediction);
@@ -653,91 +834,70 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal ActivatedSignalType ActivatedSignal()
-        {
-            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal KeyboardEventSignalType EventReceivedSignal()
-        {
-            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal StatusSignalType StatusChangedSignal()
-        {
-            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal KeyboardResizedSignalType ResizedSignal()
+        /// <summary>
+        /// Gets or sets whether the IM context allows to use the text prediction.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool TextPrediction
         {
-            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return IsTextPredictionAllowed();
+            }
+            set
+            {
+                AllowTextPrediction(value);
+            }
         }
 
-        internal LanguageChangedSignalType LanguageChangedSignal()
+        /// <summary>
+        /// InputMethodContext activated event arguments.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class ActivatedEventArgs : EventArgs
         {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// InputMethodContext
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public InputMethodContext InputMethodContext
+            {
+                get;
+                set;
+            }
         }
 
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void ActivatedEventCallbackType(IntPtr data);
+        private ActivatedEventCallbackType _activatedEventCallback;
+        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
 
         /// <summary>
-        /// Dispose
+        /// InputMethodContext activated.
         /// </summary>
-        /// <param name="type">Dispose Type</param>
         /// <since_tizen> 5 </since_tizen>
-        /// Please DO NOT use! This will be deprecated!
-        /// Dispose() method in Singletone classes (ex: FocusManager, StyleManager, VisualFactory, InputMethodContext, TtsPlayer, Window) is not required.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public event EventHandler<ActivatedEventArgs> Activated
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
+            add
             {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                if (_activatedEventHandler == null)
+                {
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
+                }
 
+                _activatedEventHandler += value;
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-
-            if (_keyboardTypeChangedEventCallback != null)
+            remove
             {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
+                _activatedEventHandler -= value;
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
                 {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
-
-            base.Dispose(type);
         }
 
         private void OnActivated(IntPtr data)
@@ -755,620 +915,471 @@ namespace Tizen.NUI
             }
         }
 
-        private IntPtr OnEventReceived(IntPtr inputMethodContext, IntPtr eventData)
-        {
-            CallbackData callbackData = null;
-
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
-
-            if (inputMethodContext != null)
-            {
-                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(inputMethodContext) as InputMethodContext;
-            }
-            if (eventData != null)
-            {
-                e.EventData = EventData.GetEventDataFromPtr(eventData);
-            }
-
-            if (_eventReceivedEventHandler != null)
-            {
-                callbackData = _eventReceivedEventHandler(this, e);
-            }
-            if (callbackData != null)
-            {
-                return callbackData.GetCallbackDataPtr();
-            }
-            else
-            {
-                return new CallbackData().GetCallbackDataPtr();
-            }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
-
-            if (_statusChangedEventHandler != null)
-            {
-                _statusChangedEventHandler(this, e);
-            }
-        }
-
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
-
-            if (_resizedEventHandler != null)
-            {
-                _resizedEventHandler(this, e);
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
-
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
-            }
-        }
-
-        private void OnKeyboardTypeChanged(KeyboardType type)
-        {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
-
-            if (_keyboardTypeChangedEventHandler != null)
-            {
-                _keyboardTypeChangedEventHandler(this, e);
-            }
-        }
-
-        /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class EventData : global::System.IDisposable
+        internal ActivatedSignalType ActivatedSignal()
         {
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool swigCMemOwn;
-
-            /// <summary>
-            /// A flag to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-            //A flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-
-            /// <summary>
-            /// The default constructor.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public EventData() : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The constructor.
-            /// </summary>
-            /// <param name="aEventName">The name of the event from the IMF.</param>
-            /// <param name="aPredictiveString">The pre-edit or the commit string.</param>
-            /// <param name="aCursorOffset">Start the position from the current cursor position to start deleting characters.</param>
-            /// <param name="aNumberOfChars">The number of characters to delete from the cursorOffset.</param>
-            /// <since_tizen> 5 </since_tizen>
-            public EventData(InputMethodContext.EventType aEventName, string aPredictiveString, int aCursorOffset, int aNumberOfChars) : this(NDalicManualPINVOKE.new_InputMethodContext_EventData__SWIG_1((int)aEventName, aPredictiveString, aCursorOffset, aNumberOfChars), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            internal EventData(IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            ~EventData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
-            /// <summary>
-            /// The pre-edit or the commit string.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public string PredictiveString
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_EventData_predictiveString_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The name of the event from the IMF.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext.EventType EventName
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_eventName_set(swigCPtr, (int)value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    InputMethodContext.EventType ret = (InputMethodContext.EventType)NDalicManualPINVOKE.InputMethodContext_EventData_eventName_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The start position from the current cursor position to start deleting characters.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public int CursorOffset
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_cursorOffset_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The number of characters to delete from the cursorOffset.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public int NumberOfChars
-            {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_EventData_numberOfChars_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-            }
-
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public void Dispose()
-            {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
-            }
-
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
-            }
-
-            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
-            {
-                EventData ret = new EventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
-            {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
-                }
-
-                disposed = true;
-            }
+            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Data required by the IMF from the callback.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class CallbackData : global::System.IDisposable
-        {
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool swigCMemOwn;
-
-            /// <summary>
-            /// A Flag to check if it is already disposed.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-
+        /// <summary>
+        /// InputMethodContext event receives event arguments.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class EventReceivedEventArgs : EventArgs
+        {
             /// <summary>
-            /// The default constructor.
+            /// InputMethodContext
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
+            public InputMethodContext InputMethodContext
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                get;
+                set;
             }
 
             /// <summary>
-            /// The constructor.
+            /// EventData.
             /// </summary>
-            /// <param name="aUpdate">True if the cursor position needs to be updated.</param>
-            /// <param name="aCursorPosition">The new position of the cursor.</param>
-            /// <param name="aCurrentText">The current text string.</param>
-            /// <param name="aPreeditResetRequired">Flag if preedit reset is required.</param>
             /// <since_tizen> 5 </since_tizen>
-            public CallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
+            public EventData EventData
             {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                get;
+                set;
             }
+        }
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            ~CallbackData()
+        private delegate IntPtr EventReceivedEventCallbackType(IntPtr inputMethodContext, IntPtr eventData);
+        private EventReceivedEventCallbackType _eventReceivedEventCallback;
+        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> _eventReceivedEventHandler;
+
+        /// <summary>
+        /// InputMethodContext event received.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
+        {
+            add
             {
-                if (!isDisposeQueued)
+                if (_eventReceivedEventHandler == null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
                 }
-            }
 
-            /// <summary>
-            /// The current text string.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public string CurrentText
+                _eventReceivedEventHandler += value;
+            }
+            remove
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
+                _eventReceivedEventHandler -= value;
+
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    string ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_currentText_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The current cursor position.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public int CursorPosition
+        private IntPtr OnEventReceived(IntPtr inputMethodContext, IntPtr eventData)
+        {
+            CallbackData callbackData = null;
+
+            EventReceivedEventArgs e = new EventReceivedEventArgs();
+
+            if (inputMethodContext != null)
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(inputMethodContext) as InputMethodContext;
+            }
+            if (eventData != null)
+            {
+                e.EventData = EventData.GetEventDataFromPtr(eventData);
             }
 
-            /// <summary>
-            /// If the cursor position needs to be updated.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public bool Update
+            if (_eventReceivedEventHandler != null)
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_update_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_update_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                callbackData = _eventReceivedEventHandler(this, e);
+            }
+            if (callbackData != null)
+            {
+                return callbackData.GetCallbackDataPtr();
             }
+            else
+            {
+                return new CallbackData().GetCallbackDataPtr();
+            }
+        }
+
+        internal KeyboardEventSignalType EventReceivedSignal()
+        {
+            KeyboardEventSignalType ret = new KeyboardEventSignalType(NDalicManualPINVOKE.InputMethodContext_EventReceivedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// InputMethodContext status changed event arguments.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class StatusChangedEventArgs : EventArgs
+        {
             /// <summary>
-            /// Flags if the pre-edit reset is required.
+            /// InputMethodContext status.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public bool PreeditResetRequired
+            public bool StatusChanged
             {
-                set
-                {
-                    NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_set(swigCPtr, value);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-                get
-                {
-                    bool ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_preeditResetRequired_get(swigCPtr);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
+                get;
+                set;
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public void Dispose()
+        private delegate void StatusChangedEventCallbackType(bool statusChanged);
+        private StatusChangedEventCallbackType _statusChangedEventCallback;
+        private event EventHandler<StatusChangedEventArgs> _statusChangedEventHandler;
+
+        /// <summary>
+        /// InputMethodContext status changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
+        {
+            add
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
+                if (_statusChangedEventHandler == null)
                 {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
                 }
 
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
+                _statusChangedEventHandler += value;
+            }
+            remove
+            {
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            internal IntPtr GetCallbackDataPtr()
+        private void OnStatusChanged(bool statusChanged)
+        {
+            StatusChangedEventArgs e = new StatusChangedEventArgs();
+
+            e.StatusChanged = statusChanged;
+
+            if (_statusChangedEventHandler != null)
             {
-                return (IntPtr)swigCPtr;
+                _statusChangedEventHandler(this, e);
             }
+        }
 
-            internal CallbackData(IntPtr cPtr, bool cMemoryOwn)
+        internal StatusSignalType StatusChangedSignal()
+        {
+            StatusSignalType ret = new StatusSignalType(NDalicManualPINVOKE.InputMethodContext_StatusChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// InputMethodContext resized event arguments.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class ResizedEventArgs : EventArgs
+        {
+            /// <summary>
+            /// resized.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int Resized
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+                get;
+                set;
             }
+        }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CallbackData obj)
+        private delegate void ResizedEventCallbackType(int resized);
+        private ResizedEventCallbackType _resizedEventCallback;
+        private event EventHandler<ResizedEventArgs> _resizedEventHandler;
+
+        /// <summary>
+        /// InputMethodContext resized.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<ResizedEventArgs> Resized
+        {
+            add
             {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                if (_resizedEventHandler == null)
+                {
+                    _resizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_resizedEventCallback);
+                }
+
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
+                {
+                    ResizedSignal().Disconnect(_resizedEventCallback);
+                }
             }
+        }
 
-            internal static CallbackData GetCallbackDataFromPtr(IntPtr cPtr)
+        private void OnResized(int resized)
+        {
+            ResizedEventArgs e = new ResizedEventArgs();
+            e.Resized = resized;
+
+            if (_resizedEventHandler != null)
             {
-                CallbackData ret = new CallbackData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _resizedEventHandler(this, e);
             }
+        }
+
+        internal KeyboardResizedSignalType ResizedSignal()
+        {
+            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
+        /// <summary>
+        /// InputMethodContext language changed event arguments.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class LanguageChangedEventArgs : EventArgs
+        {
             /// <summary>
-            /// Dispose.
+            /// Language changed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+            public int LanguageChanged
             {
-                if (disposed)
-                {
-                    return;
-                }
+                get;
+                set;
+            }
+        }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+        private delegate void LanguageChangedEventCallbackType(int languageChanged);
+        private LanguageChangedEventCallbackType _languageChangedEventCallback;
+        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
 
+        /// <summary>
+        /// InputMethodContext language changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
+            {
+                if (_languageChangedEventHandler == null)
+                {
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //Because the execution order of Finalizes is non-deterministic.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
-                if (swigCPtr.Handle != IntPtr.Zero)
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
                 }
+            }
+        }
 
-                disposed = true;
+        private void OnLanguageChanged(int languageChanged)
+        {
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.LanguageChanged = languageChanged;
+
+            if (_languageChangedEventHandler != null)
+            {
+                _languageChangedEventHandler(this, e);
             }
         }
 
+        internal LanguageChangedSignalType LanguageChangedSignal()
+        {
+            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// InputMethodContext activated event arguments.
+        /// InputMethodContext keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// InputMethodContext
+            /// InputMethodContext keyboard type.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            public KeyboardType KeyboardType
             {
                 get;
                 set;
             }
         }
 
+        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
+        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
+        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
+
         /// <summary>
-        /// InputMethodContext event receives event arguments.
+        /// InputMethodContext keyboard type changed.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class EventReceivedEventArgs : EventArgs
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
         {
-            /// <summary>
-            /// InputMethodContext
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            add
             {
-                get;
-                set;
+                if (_keyboardTypeChangedEventHandler == null)
+                {
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
+                }
+
+                _keyboardTypeChangedEventHandler += value;
+            }
+            remove
+            {
+                _keyboardTypeChangedEventHandler -= value;
+
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
             }
+        }
 
-            /// <summary>
-            /// EventData.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public EventData EventData
+        private void OnKeyboardTypeChanged(KeyboardType type)
+        {
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
             {
-                get;
-                set;
+                _keyboardTypeChangedEventHandler(this, e);
             }
         }
 
+        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
+        {
+            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// InputMethodContext status changed event arguments.
+        /// The direction of the text.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class StatusChangedEventArgs : EventArgs
+        public enum TextDirection
         {
             /// <summary>
-            /// InputMethodContext status.
+            /// Left to right.
             /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public bool StatusChanged
-            {
-                get;
-                set;
-            }
+            LeftToRight,
+            /// <summary>
+            /// Right to left.
+            /// </summary>
+            RightToLeft
         }
 
         /// <summary>
-        /// InputMethodContext resized event arguments.
+        /// Events that are generated by the IMF.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class ResizedEventArgs : EventArgs
+        public enum EventType
         {
             /// <summary>
-            /// resized.
+            /// No event.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int Resized
-            {
-                get;
-                set;
-            }
+            Void,
+            /// <summary>
+            /// Pre-edit changed.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Preedit,
+            /// <summary>
+            /// Commit received.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Commit,
+            /// <summary>
+            /// An event to delete a range of characters from the string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            DeleteSurrounding,
+            /// <summary>
+            /// An event to query string and the cursor position.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            GetSurrounding,
+            /// <summary>
+            /// Private command sent from the input panel.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            PrivateCommand
         }
 
         /// <summary>
-        /// InputMethodContext language changed event arguments.
+        /// Enumeration for the state of the input panel.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class LanguageChangedEventArgs : EventArgs
+        public enum State
         {
             /// <summary>
-            /// Language changed.
+            /// Unknown state.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int LanguageChanged
-            {
-                get;
-                set;
-            }
+            Default = 0,
+            /// <summary>
+            /// Input panel is shown.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Show,
+            /// <summary>
+            /// Input panel is hidden.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            Hide,
+            /// <summary>
+            /// Input panel in process of being shown.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            WillShow
         }
 
         /// <summary>
-        /// InputMethodContext keyboard type changed event arguments.
+        /// Enumeration for the types of keyboard.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public enum KeyboardType
         {
             /// <summary>
-            /// InputMethodContext keyboard type.
+            /// Software keyboard (virtual keyboard) is default.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public KeyboardType KeyboardType
-            {
-                get;
-                set;
-            }
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            HardwareKeyboard
         }
     }
 }
index b41a662..de26fd4 100755 (executable)
@@ -24,86 +24,109 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Key : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
-        /// The default constructor.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
+        ~Key()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="keyName">The name of the key pressed or command from the IMF, if later, then the following parameters will be needed.</param>
-        /// <param name="keyString">A string of input characters or key pressed.</param>
-        /// <param name="keyCode">The unique key code for the key pressed.</param>
-        /// <param name="keyModifier">The key modifier for special keys like Shift and Alt.</param>
-        /// <param name="timeStamp">The time (in ms) that the key event occurred.</param>
-        /// <param name="keyState">The state of the key event.</param>
-        internal Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true)
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-        internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        ~Key()
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (!isDisposeQueued)
+            if (disposed)
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Key(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
-        /// <summary>
-        /// Enumeration for specifying the state of the key event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum StateType
+
+        internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
         {
-            /// <summary>
-            /// Key Down.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Down,
-            /// <summary>
-            /// Key Up.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Up,
-            /// <summary>
-            /// Key Last.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Last
+            Key ret = new Key(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -238,6 +261,65 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="keyName">The name of the key pressed or command from the IMF, if later, then the following parameters will be needed.</param>
+        /// <param name="keyString">A string of input characters or key pressed.</param>
+        /// <param name="keyCode">The unique key code for the key pressed.</param>
+        /// <param name="keyModifier">The key modifier for special keys like Shift and Alt.</param>
+        /// <param name="timeStamp">The time (in ms) that the key event occurred.</param>
+        /// <param name="keyState">The state of the key event.</param>
+        internal Key(string keyName, string keyString, int keyCode, int keyModifier, uint timeStamp, Key.StateType keyState) : this(NDalicPINVOKE.new_Key__SWIG_1(keyName, keyString, keyCode, keyModifier, timeStamp, (int)keyState), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Checks to see if the Shift key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Shift modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsShiftModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Ctrl (control) key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Ctrl modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsCtrlModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Alt key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Alt modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsAltModifier()
+        {
+            bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         private string keyPressedName
         {
             set
@@ -329,109 +411,27 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Checks to see if the Shift key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Shift modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsShiftModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsShiftModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Ctrl (control) key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Ctrl modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsCtrlModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsCtrlModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Alt key modifier has been supplied.
+        /// Enumeration for specifying the state of the key event.
         /// </summary>
-        /// <returns>True if Alt modifier.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsAltModifier()
-        {
-            bool ret = NDalicPINVOKE.Key_IsAltModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Key obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
+        public enum StateType
         {
-            Key ret = new Key(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Key Down.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Down,
+            /// <summary>
+            /// Key Up.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Up,
+            /// <summary>
+            /// Key Last.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Last
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type.</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Key(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
     }
 }
\ No newline at end of file
index 664e91b..de74b50 100755 (executable)
@@ -30,21 +30,53 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Creates an initialized KeyFrames handle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(disposed)
+            {
+                return;
+            }
 
-        }
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
 
-        internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_KeyFrames(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
+
+
         /// <summary>
         /// Adds a key frame.
         /// </summary>
@@ -71,6 +103,16 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Creates an initialized KeyFrames handle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
         /// Gets the type of the key frame.
         /// </summary>
         /// <returns>The key frame property type</returns>
@@ -107,44 +149,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(KeyFrames obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_KeyFrames(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
+
 }
\ No newline at end of file
index b5c73a5..62c0152 100755 (executable)
@@ -32,20 +32,6 @@ namespace Tizen.NUI
         private global::System.IntPtr rootLayoutIntPtr;
         private global::System.Runtime.InteropServices.HandleRef rootLayoutCPtr;
 
-        /// <summary>
-        /// Creates a Layer object.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Layer() : this(NDalicPINVOKE.Layer_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            if (Window.Instance != null)
-            {
-                this.SetAnchorPoint(Tizen.NUI.PivotPoint.TopLeft);
-                this.SetResizePolicy(ResizePolicyType.FillToParent, DimensionType.AllDimensions);
-            }
-        }
-
         internal Layer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Layer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
@@ -58,198 +44,9 @@ namespace Tizen.NUI
             NDalicPINVOKE.Actor_Add( swigCPtr, rootLayoutCPtr );
         }
 
-        /// <summary>
-        /// Enumeration for the behavior of the layer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum LayerBehavior
-        {
-            /// <summary>
-            /// UI control rendering mode.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Layer2D,
-            /// <summary>
-            /// UI control rendering mode (default mode).
-            /// This mode is designed for UI controls that can overlap. In this
-            /// mode renderer order will be respective to the tree hierarchy of
-            /// Actors.<br />
-            /// The rendering order is depth first, so for the following actor tree,
-            /// A will be drawn first, then B, D, E, then C, F.  This ensures that
-            /// overlapping actors are drawn as expected (whereas, with breadth first
-            /// traversal, the actors would interleave).<br />
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LayerUI = Layer2D,
-            /// <summary>
-            /// Layer will use depth test.
-            /// This mode is designed for a 3 dimensional scene where actors in front
-            /// of other actors will obscure them, i.e. the actors are sorted by the
-            /// distance from the camera.<br />
-            /// When using this mode, a depth test will be used. A depth clear will
-            /// happen for each layer, which means actors in a layer "above" other
-            /// layers will be rendered in front of actors in those layers regardless
-            /// of their Z positions (see Layer::Raise() and Layer::Lower()).<br />
-            /// Opaque renderers are drawn first and write to the depth buffer.  Then
-            /// transparent renderers are drawn with depth test enabled but depth
-            /// write switched off.  Transparent renderers are drawn based on their
-            /// distance from the camera.  A renderer's DEPTH_INDEX property is used to
-            /// offset the distance to the camera when ordering transparent renderers.
-            /// This is useful if you want to define the draw order of two or more
-            /// transparent renderers that are equal distance from the camera.  Unlike
-            /// LAYER_UI, parent-child relationship does not affect rendering order at
-            /// all.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Layer3D
-        }
-
-        internal enum TreeDepthMultiplier
-        {
-            TREE_DEPTH_MULTIPLIER = 10000
-        }
-
-        /// <summary>
-        /// Layer behavior, type String (Layer.LayerBehavior).
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Layer.LayerBehavior Behavior
-        {
-            get
-            {
-                return GetBehavior();
-            }
-            set
-            {
-                SetBehavior(value);
-            }
-        }
-
-        /// <summary>
-        /// Sets the viewport (in window coordinates), type rectangle.
-        /// The contents of the layer will not be visible outside this box, when ViewportEnabled is true.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Rectangle Viewport
-        {
-            get
-            {
-                if (ClippingEnabled)
-                {
-                    Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                    return ret;
-                }
-                else
-                {
-                    // Clipping not enabled so return the window size
-                    Size2D windowSize = Window.Instance.Size;
-                    Rectangle ret = new Rectangle(0, 0, windowSize.Width, windowSize.Height);
-                    return ret;
-                }
-            }
-            set
-            {
-                NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                ClippingEnabled = true;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves and sets the layer's opacity.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Opacity
-        {
-            get
-            {
-                float temp = 0.0f;
-                GetProperty(View.Property.OPACITY).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Retrieves and sets the layer's visibility.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Visibility
-        {
-            get
-            {
-                bool temp = false;
-                GetProperty(View.Property.VISIBLE).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
-            }
-        }
-
-        /// <summary>
-        /// Get the number of children held by the layer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public new uint ChildCount
-        {
-            get
-            {
-                return Convert.ToUInt32(Children.Count);
-            }
-        }
-
-        /// <summary>
-        /// Gets or sets the layer's name.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Name
-        {
-            get
-            {
-                return GetName();
-            }
-            set
-            {
-                SetName(value);
-            }
-        }
-
-        /// <summary>
-        /// Queries the depth of the layer.<br />
-        /// 0 is the bottommost layer, higher number is on the top.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Depth
-        {
-            get
-            {
-                return GetDepth();
-            }
-        }
-
-        /// <summary>
-        /// Internal only property to enable or disable clipping, type boolean.
-        /// By default, this is false, i.e., the viewport of the layer is the entire window.
-        /// </summary>
-        internal bool ClippingEnabled
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
         {
-            get
-            {
-                bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-            set
-            {
-                NDalicPINVOKE.Layer_SetClipping(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// From the Container base class.
@@ -344,43 +141,138 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Downcasts a handle to layer handle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use as keyword.
-        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public static Layer DownCast(BaseHandle handle)
+        protected override void Dispose(DisposeTypes type)
         {
-            Layer ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Layer;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Layer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+
+        }
+
+
+        internal class Property
+        {
+            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
         }
 
         /// <summary>
-        /// Search through this layer's hierarchy for a view with the given unique ID.
+        /// Creates a Layer object.
         /// </summary>
-        /// <pre>This layer (the parent) has been initialized.</pre>
-        /// <remarks>The actor itself is also considered in the search.</remarks>
-        /// <param name="id">The id of the child to find</param>
-        /// <returns> A handle to the view if found, or an empty handle if not. </returns>
         /// <since_tizen> 3 </since_tizen>
-        public View FindChildById(uint id)
+        public Layer() : this(NDalicPINVOKE.Layer_New(), true)
         {
-            //to fix memory leak issue, match the handle count with native side.
-            IntPtr cPtr = NDalicPINVOKE.Actor_FindChildById(swigCPtr, id);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(Window.Instance != null)
+            {
+                this.SetAnchorPoint(Tizen.NUI.PivotPoint.TopLeft);
+                this.SetResizePolicy(ResizePolicyType.FillToParent, DimensionType.AllDimensions);
+            }
+        }
+        internal void SetAnchorPoint(Vector3 anchorPoint)
+        {
+            NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+        internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
+        {
+            NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
             if (NDalicPINVOKE.SWIGPendingException.Pending)
                 throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Downcasts a handle to layer handle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        /// Please do not use! this will be deprecated!
+        /// Instead please use as keyword.
+        [Obsolete("Please do not use! This will be deprecated! Please use as keyword instead!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public static Layer DownCast(BaseHandle handle)
+        {
+            Layer ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as Layer;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
+        /// Search through this layer's hierarchy for a view with the given unique ID.
+        /// </summary>
+        /// <pre>This layer (the parent) has been initialized.</pre>
+        /// <remarks>The actor itself is also considered in the search.</remarks>
+        /// <param name="id">The id of the child to find</param>
+        /// <returns> A handle to the view if found, or an empty handle if not. </returns>
+        /// <since_tizen> 3 </since_tizen>
+        public View FindChildById(uint id)
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            IntPtr cPtr = NDalicPINVOKE.Actor_FindChildById(swigCPtr, id);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            View ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as View;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Queries the depth of the layer.<br />
+        /// 0 is the bottommost layer, higher number is on the top.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint Depth
+        {
+            get
+            {
+                return GetDepth();
+            }
+        }
+
+        internal uint GetDepth()
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+            if(parentChildren != null)
+            {
+                int idx = parentChildren.IndexOf(this);
+                if (idx >= 0)
+                {
+                    return Convert.ToUInt32(idx); ;
+                }
+            }
+            return 0u;
+        }
+
+        /// <summary>
         /// Increments the depth of the layer.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -418,6 +310,62 @@ namespace Tizen.NUI
             }
         }
 
+        internal void RaiseAbove(Layer target)
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                if(currentIndex < 0 || targetIndex < 0 ||
+                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
+                {
+                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
+                    return;
+                }
+
+                // 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.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+            }
+        }
+
+        internal void LowerBelow(Layer target)
+        {
+            var parentChildren = Window.Instance.LayersChildren;
+
+            if (parentChildren != null)
+            {
+                int currentIndex = parentChildren.IndexOf(this);
+                int targetIndex = parentChildren.IndexOf(target);
+
+                if(currentIndex < 0 || targetIndex < 0 ||
+                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
+                {
+                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
+                    return;
+                }
+
+                // 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.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+            }
+        }
+
         /// <summary>
         /// Raises the layer to the top.
         /// </summary>
@@ -479,92 +427,17 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal void SetAnchorPoint(Vector3 anchorPoint)
-        {
-            NDalicPINVOKE.Actor_SetAnchorPoint(swigCPtr, Vector3.getCPtr(anchorPoint));
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal void SetResizePolicy(ResizePolicyType policy, DimensionType dimension)
-        {
-            NDalicPINVOKE.Actor_SetResizePolicy(swigCPtr, (int)policy, (int)dimension);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal uint GetDepth()
-        {
-            var parentChildren = Window.Instance.LayersChildren;
-            if (parentChildren != null)
-            {
-                int idx = parentChildren.IndexOf(this);
-                if (idx >= 0)
-                {
-                    return Convert.ToUInt32(idx); ;
-                }
-            }
-            return 0u;
-        }
-        internal void RaiseAbove(Layer target)
+        private void SetBehavior(LayerBehavior behavior)
         {
-            var parentChildren = Window.Instance.LayersChildren;
-            if (parentChildren != null)
-            {
-                int currentIndex = parentChildren.IndexOf(this);
-                int targetIndex = parentChildren.IndexOf(target);
-
-                if (currentIndex < 0 || targetIndex < 0 ||
-                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
-                {
-                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
-                    return;
-                }
-
-                // 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.Layer_MoveAbove(swigCPtr, Layer.getCPtr(target));
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-            }
+            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void LowerBelow(Layer target)
+        private LayerBehavior GetBehavior()
         {
-            var parentChildren = Window.Instance.LayersChildren;
-
-            if (parentChildren != null)
-            {
-                int currentIndex = parentChildren.IndexOf(this);
-                int targetIndex = parentChildren.IndexOf(target);
-
-                if (currentIndex < 0 || targetIndex < 0 ||
-                    currentIndex >= parentChildren.Count || targetIndex >= parentChildren.Count)
-                {
-                    NUILog.Error("index should be bigger than 0 and less than children of layer count");
-                    return;
-                }
-
-                // 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.Layer_MoveBelow(swigCPtr, Layer.getCPtr(target));
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-            }
+            Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function)
@@ -599,83 +472,211 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void AddViewToLayerList(View view)
+        internal void AddViewToLayerList( View view )
         {
             Children.Add(view);
         }
 
-        internal void RemoveViewFromLayerList(View view)
+        internal void RemoveViewFromLayerList( View view )
         {
             Children.Remove(view);
         }
 
-        internal string GetName()
+        /// <summary>
+        /// Enumeration for the behavior of the layer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum LayerBehavior
         {
-            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// UI control rendering mode.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Layer2D,
+            /// <summary>
+            /// UI control rendering mode (default mode).
+            /// This mode is designed for UI controls that can overlap. In this
+            /// mode renderer order will be respective to the tree hierarchy of
+            /// Actors.<br />
+            /// The rendering order is depth first, so for the following actor tree,
+            /// A will be drawn first, then B, D, E, then C, F.  This ensures that
+            /// overlapping actors are drawn as expected (whereas, with breadth first
+            /// traversal, the actors would interleave).<br />
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LayerUI = Layer2D,
+            /// <summary>
+            /// Layer will use depth test.
+            /// This mode is designed for a 3 dimensional scene where actors in front
+            /// of other actors will obscure them, i.e. the actors are sorted by the
+            /// distance from the camera.<br />
+            /// When using this mode, a depth test will be used. A depth clear will
+            /// happen for each layer, which means actors in a layer "above" other
+            /// layers will be rendered in front of actors in those layers regardless
+            /// of their Z positions (see Layer::Raise() and Layer::Lower()).<br />
+            /// Opaque renderers are drawn first and write to the depth buffer.  Then
+            /// transparent renderers are drawn with depth test enabled but depth
+            /// write switched off.  Transparent renderers are drawn based on their
+            /// distance from the camera.  A renderer's DEPTH_INDEX property is used to
+            /// offset the distance to the camera when ordering transparent renderers.
+            /// This is useful if you want to define the draw order of two or more
+            /// transparent renderers that are equal distance from the camera.  Unlike
+            /// LAYER_UI, parent-child relationship does not affect rendering order at
+            /// all.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Layer3D
         }
 
-        internal void SetName(string name)
+        internal enum TreeDepthMultiplier
         {
-            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            TREE_DEPTH_MULTIPLIER = 10000
         }
 
         /// <summary>
-        /// Dispose.
+        /// Layer behavior, type String (Layer.LayerBehavior).
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public Layer.LayerBehavior Behavior
         {
-            if (disposed)
+            get
             {
-                return;
+                return GetBehavior();
             }
-
-            if (type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                SetBehavior(value);
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        /// <summary>
+        /// Internal only property to enable or disable clipping, type boolean.
+        /// By default, this is false, i.e., the viewport of the layer is the entire window.
+        /// </summary>
+        internal bool ClippingEnabled
+        {
+            get
+            {
+                bool ret = NDalicPINVOKE.Layer_IsClipping(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+            set
+            {
+                NDalicPINVOKE.Layer_SetClipping(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// Sets the viewport (in window coordinates), type rectangle.
+        /// The contents of the layer will not be visible outside this box, when ViewportEnabled is true.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public Rectangle Viewport
+        {
+            get
             {
-                if (swigCMemOwn)
+                if( ClippingEnabled )
                 {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Layer(swigCPtr);
+                  Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
+                  if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                  return ret;
+                }
+                else
+                {
+                  // Clipping not enabled so return the window size
+                  Size2D windowSize = Window.Instance.Size;
+                  Rectangle ret = new Rectangle(0, 0, windowSize.Width, windowSize.Height);
+                  return ret;
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            set
+            {
+                NDalicPINVOKE.Layer_SetClippingBox__SWIG_1(swigCPtr, Rectangle.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                ClippingEnabled = true;
+            }
+        }
 
-            base.Dispose(type);
+        /// <summary>
+        /// Retrieves and sets the layer's opacity.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Opacity
+        {
+            get
+            {
+                float temp = 0.0f;
+                GetProperty(View.Property.OPACITY).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.OPACITY, new Tizen.NUI.PropertyValue(value));
+            }
+        }
 
+        /// <summary>
+        /// Retrieves and sets the layer's visibility.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Visibility
+        {
+            get
+            {
+                bool temp = false;
+                GetProperty(View.Property.VISIBLE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(View.Property.VISIBLE, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
-        private void SetBehavior(LayerBehavior behavior)
+        /// <summary>
+        /// Get the number of children held by the layer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public new uint ChildCount
         {
-            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return Convert.ToUInt32(Children.Count);
+            }
         }
 
-        private LayerBehavior GetBehavior()
+        /// <summary>
+        /// Gets or sets the layer's name.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Name
         {
-            Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return GetName();
+            }
+            set
+            {
+                SetName(value);
+            }
+        }
+
+        internal string GetName()
+        {
+            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal class Property
+        internal void SetName(string name)
         {
-            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
+            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
+
     }
 }
\ No newline at end of file
index 0f59c87..0ac3912 100755 (executable)
@@ -27,19 +27,57 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="state">The state of the gesture</param>
         /// <since_tizen> 3 </since_tizen>
-        public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
+
+        internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            LongPressGesture ret = new LongPressGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -81,6 +119,16 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="state">The state of the gesture</param>
+        /// <since_tizen> 3 </since_tizen>
+        public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
 
         private uint numberOfTouches
         {
@@ -129,51 +177,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
-        {
-            LongPressGesture ret = new LongPressGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if(disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_LongPressGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
+
 }
\ No newline at end of file
index 79d1067..255ecca 100755 (executable)
@@ -33,62 +33,106 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private DaliEventHandler<object, DetectedEventArgs> _longPressGestureEventHandler;
-        private DetectedCallbackDelegate _longPressGestureCallbackDelegate;
-
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector() : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true)
+        internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Creates an initialized LongPressGestureDetector with the number of touches required.<br />
-        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen is equal to the touches required.<br />
-        /// </summary>
-        /// <param name="touchesRequired">The number of touches required.</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(uint touchesRequired) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Creates an initialized LongPressGestureDetector with the minimum and maximum number of touches required.<br />
-        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen falls between the minimum and maximum touches set.<br />
+        /// Dispose.
         /// </summary>
-        /// <param name="minTouches">The minimum number of touches required.</param>
-        /// <param name="maxTouches">The maximum number of touches required.</param>
+        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_LongPressGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// The copy constructor.
+        /// Event arguments that passed via the LongPressGestureEvent signal.
         /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
+        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
+        public class DetectedEventArgs : EventArgs
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            private View _view;
+            private LongPressGesture _longPressGesture;
 
-        internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            /// <summary>
+            /// View the attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
+
+            /// <summary>
+            /// The LongPressGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public LongPressGesture LongPressGesture
+            {
+                get
+                {
+                    return _longPressGesture;
+                }
+                set
+                {
+                    _longPressGesture = value;
+                }
+            }
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr longPressGesture);
+        private DaliEventHandler<object, DetectedEventArgs> _longPressGestureEventHandler;
+        private DetectedCallbackDelegate _longPressGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified long press is detected on the attached view.
@@ -126,70 +170,83 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Sets the number of touches required.<br />
-        /// The number of touches corresponds to the number of fingers a user has on the screen. The default is 1.<br />
-        /// </summary>
-        /// <param name="touches">Touches required</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public void SetTouchesRequired(uint touches)
+        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (LongPressGestureEventArgs) with real data.
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.LongPressGesture = Tizen.NUI.LongPressGesture.GetLongPressGestureFromPtr(longPressGesture);
+
+            if (_longPressGestureEventHandler != null)
+            {
+                //Here we send all data to user event handlers.
+                _longPressGestureEventHandler(this, e);
+            }
+
+        }
+
+        internal static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Sets the minimum and maximum touches required.
+        /// Constructor.
         /// </summary>
-        /// <param name="minTouches">Minimum touches required.</param>
-        /// <param name="maxTouches">Maximum touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public void SetTouchesRequired(uint minTouches, uint maxTouches)
+        public LongPressGestureDetector() : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true)
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
         /// <summary>
-        /// Retrieves the minimum number of touches required.
+        /// Creates an initialized LongPressGestureDetector with the number of touches required.<br />
+        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen is equal to the touches required.<br />
         /// </summary>
-        /// <returns>The minimum number of touches required.</returns>
+        /// <param name="touchesRequired">The number of touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint GetMinimumTouchesRequired()
+        public LongPressGestureDetector(uint touchesRequired) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true)
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
         }
 
         /// <summary>
-        /// Retrieves the maximum number of touches required.
+        /// Creates an initialized LongPressGestureDetector with the minimum and maximum number of touches required.<br />
+        /// A long press gesture will be emitted from this detector if the number of fingers touching the screen falls between the minimum and maximum touches set.<br />
         /// </summary>
-        /// <returns>The maximum number of touches required.</returns>
+        /// <param name="minTouches">The minimum number of touches required.</param>
+        /// <param name="maxTouches">The maximum number of touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public uint GetMaximumTouchesRequired()
+        public LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true)
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
         }
 
-        internal static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
         {
-            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
+            LongPressGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
+        /// <summary>
+        /// The copy constructor.
+        /// </summary>
+        /// <param name="handle">A reference to the copied handle</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
         {
-            LongPressGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         internal LongPressGestureDetector Assign(LongPressGestureDetector rhs)
@@ -199,117 +256,65 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal LongPressGestureDetectedSignal DetectedSignal()
+        /// <summary>
+        /// Sets the number of touches required.<br />
+        /// The number of touches corresponds to the number of fingers a user has on the screen. The default is 1.<br />
+        /// </summary>
+        /// <param name="touches">Touches required</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public void SetTouchesRequired(uint touches)
         {
-            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Dispose.
+        /// Sets the minimum and maximum touches required.
         /// </summary>
-        /// <param name="type">The dispose type</param>
+        /// <param name="minTouches">Minimum touches required.</param>
+        /// <param name="maxTouches">Maximum touches required.</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public void SetTouchesRequired(uint minTouches, uint maxTouches)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_LongPressGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
+        /// <summary>
+        /// Retrieves the minimum number of touches required.
+        /// </summary>
+        /// <returns>The minimum number of touches required.</returns>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public uint GetMinimumTouchesRequired()
         {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (LongPressGestureEventArgs) with real data.
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.LongPressGesture = Tizen.NUI.LongPressGesture.GetLongPressGestureFromPtr(longPressGesture);
-
-            if (_longPressGestureEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _longPressGestureEventHandler(this, e);
-            }
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Event arguments that passed via the LongPressGestureEvent signal.
+        /// Retrieves the maximum number of touches required.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <returns>The maximum number of touches required.</returns>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
+        public uint GetMaximumTouchesRequired()
         {
-            private View _view;
-            private LongPressGesture _longPressGesture;
-
-            /// <summary>
-            /// View the attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            /// <summary>
-            /// The LongPressGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public LongPressGesture LongPressGesture
-            {
-                get
-                {
-                    return _longPressGesture;
-                }
-                set
-                {
-                    _longPressGesture = value;
-                }
-            }
+        internal LongPressGestureDetectedSignal DetectedSignal()
+        {
+            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
+
     }
+
 }
index 9d4fabd..2575bf9 100755 (executable)
@@ -34,11 +34,21 @@ namespace Tizen.NUI
     public class NUIApplication : CoreApplication
     {
         /// <summary>
+        /// Occurs whenever the application is resumed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler Resumed;
+
+        /// <summary>
+        /// Occurs whenever the application is paused.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler Paused;
+
+        /// <summary>
         /// The instance of ResourceManager.
         /// </summary>
         private static System.Resources.ResourceManager resourceManager = null;
-        private Size2D _windowSize2D = null;
-        private Position2D _windowPosition2D = null;
 
         /// <summary>
         /// The default constructor.
@@ -49,6 +59,8 @@ namespace Tizen.NUI
             Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
         }
 
+        private Size2D _windowSize2D = null;
+        private Position2D _windowPosition2D = null;
         /// <summary>
         /// The constructor with window size and position.
         /// </summary>
@@ -135,124 +147,6 @@ namespace Tizen.NUI
             if (windowSize != null) { _windowSize2D = windowSize; }
             if (windowPosition != null) { _windowPosition2D = windowPosition; }
             Registry.Instance.SavedApplicationThread = Thread.CurrentThread;
-
-            //Workaround for Vulkan. should be removed.
-            if (Graphics.Backend == Graphics.BackendType.Vulkan)
-            {
-                Tizen.Log.Error("NUI", "[NOT ERROR] NUIApplication Constructor! Vulkan backend!");
-                Tizen.NUI.Version.PrintDaliNativeVersion();
-                NDalicPINVOKE.SetAgainExceptionHelperAndStringHelper();
-            }
-        }
-
-        /// <summary>
-        /// Occurs whenever the application is resumed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler Resumed;
-
-        /// <summary>
-        /// Occurs whenever the application is paused.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler Paused;
-
-        /// <summary>
-        /// Enumeration for deciding whether a NUI application window is opaque or transparent.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum WindowMode
-        {
-            /// <summary>
-            /// Opaque
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Opaque = 0,
-            /// <summary>
-            /// Transparent
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Transparent = 1
-        }
-
-        /// <summary>
-        /// ResourceManager to handle multilingual.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static System.Resources.ResourceManager MultilingualResourceManager
-        {
-            get
-            {
-                return resourceManager;
-            }
-            set
-            {
-                resourceManager = value;
-            }
-        }
-
-        /// <summary>
-        /// Gets the window instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated!")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Window Window
-        {
-            get
-            {
-                return Window.Instance;
-            }
-        }
-
-        internal Application ApplicationHandle
-        {
-            get
-            {
-                return ((NUICoreBackend)this.Backend).ApplicationHandle;
-            }
-        }
-
-        /// <summary>
-        /// Register the assembly to XAML.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static void RegisterAssembly(Assembly assembly)
-        {
-            XamlParser.s_assemblies.Add(assembly);
-        }
-
-        /// <summary>
-        /// Runs the NUIApplication.
-        /// </summary>
-        /// <param name="args">Arguments from commandline.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Run(string[] args)
-        {
-            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
-            Backend.AddEventHandler(EventType.Resumed, OnResume);
-            Backend.AddEventHandler(EventType.Paused, OnPause);
-            base.Run(args);
-        }
-
-        /// <summary>
-        /// Exits the NUIApplication.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Exit()
-        {
-            base.Exit();
-        }
-
-        /// <summary>
-        /// Ensures that the function passed in is called from the main loop when it is idle.
-        /// </summary>
-        /// <param name="func">The function to call</param>
-        /// <returns>true if added successfully, false otherwise</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool AddIdle(System.Delegate func)
-        {
-            return ((NUICoreBackend)this.Backend).AddIdle(func);
         }
 
         /// <summary>
@@ -357,35 +251,122 @@ namespace Tizen.NUI
             base.OnCreate();
             Device.PlatformServices = new TizenPlatformServices();
         }
-    }
 
-    /// <summary>
-    /// Graphics BackendType
-    /// </summary>
-    /// InhouseAPI, this could be opened in NextTizen
-    [EditorBrowsable(EditorBrowsableState.Never)]
-    public class Graphics
-    {
         /// <summary>
-        /// Active backend
+        /// Runs the NUIApplication.
         /// </summary>
-        public static BackendType Backend = BackendType.Gles;
-        internal const string GlesCSharpBinder = "libdali-csharp-binder.so";
-        internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
+        /// <param name="args">Arguments from commandline.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Run(string[] args)
+        {
+            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
+            Backend.AddEventHandler(EventType.Resumed, OnResume);
+            Backend.AddEventHandler(EventType.Paused, OnPause);
+            base.Run(args);
+        }
 
         /// <summary>
-        /// Enumeration for Rendering backend
+        /// Exits the NUIApplication.
         /// </summary>
-        public enum BackendType
+        /// <since_tizen> 4 </since_tizen>
+        public override void Exit()
+        {
+            base.Exit();
+        }
+
+        /// <summary>
+        /// Ensures that the function passed in is called from the main loop when it is idle.
+        /// </summary>
+        /// <param name="func">The function to call</param>
+        /// <returns>true if added successfully, false otherwise</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool AddIdle(System.Delegate func)
+        {
+            return ((NUICoreBackend)this.Backend).AddIdle(func);
+        }
+
+        /// <summary>
+        /// Enumeration for deciding whether a NUI application window is opaque or transparent.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum WindowMode
         {
             /// <summary>
-            /// GLES
+            /// Opaque
             /// </summary>
-            Gles,
+            /// <since_tizen> 3 </since_tizen>
+            Opaque = 0,
             /// <summary>
-            /// Vulkan
+            /// Transparent
             /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Transparent = 1
+        }
+
+
+        internal Application ApplicationHandle
+        {
+            get
+            {
+                return ((NUICoreBackend)this.Backend).ApplicationHandle;
+            }
+        }
+
+        /// <summary>
+        /// ResourceManager to handle multilingual.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static System.Resources.ResourceManager MultilingualResourceManager
+        {
+            get
+            {
+                return resourceManager;
+            }
+            set
+            {
+                resourceManager = value;
+            }
+        }
+
+        /// <summary>
+        /// Register the assembly to XAML.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static void RegisterAssembly(Assembly assembly)
+        {
+            XamlParser.s_assemblies.Add(assembly);
+        }
+
+        /// <summary>
+        /// Gets the window instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated!")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Window Window
+        {
+            get
+            {
+                return Window.Instance;
+            }
+        }
+    }
+
+    /// <summary>
+    /// Graphics BackendType
+    /// </summary>
+    /// InhouseAPI, this could be opend in NextTizen
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public class Graphics
+    {
+        public enum BackendType
+        {
+            Gles,
             Vulkan
         }
+        public static BackendType Backend = BackendType.Gles;
+        internal const string GlesCSharpBinder = "libdali-csharp-binder.so";
+        internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
     }
+
 }
index 67d0a67..d7d042c 100755 (executable)
@@ -688,6 +688,7 @@ namespace Tizen.NUI
        Attached
     }
 
+
     /// <summary>
     /// The type of coordinate system for certain attributes of the points in a gradient.
     /// </summary>
@@ -913,1130 +914,931 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// The type for HiddenInput mode.
+    /// This specifies visual types.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum HiddenInputModeType
+    public struct Visual
     {
         /// <summary>
-        /// Don't hide text.
-        /// </summary>
-        HideNone,
-        /// <summary>
-        /// Hide all the input text.
+        /// The index for the visual type.
         /// </summary>
-        HideAll,
+        /// <since_tizen> 3 </since_tizen>
+        public enum Type
+        {
+            /// <summary>
+            /// Renders a solid color as an internal border to the control's quad.
+            /// </summary>
+            Border,
+            /// <summary>
+            /// Renders a solid color to the control's quad.
+            /// </summary>
+            Color,
+            /// <summary>
+            /// Renders a smooth transition of colors to the control's quad.
+            /// </summary>
+            Gradient,
+            /// <summary>
+            /// Renders an image into the control's quad.
+            /// </summary>
+            Image,
+            /// <summary>
+            /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
+            /// </summary>
+            Mesh,
+            /// <summary>
+            /// Renders a simple 3D shape, such as a cube or a sphere.
+            /// </summary>
+            Primitive,
+            /// <summary>
+            /// Renders a simple wire-frame outlining a quad.
+            /// </summary>
+            Wireframe,
+            /// <summary>
+            /// Renders text.
+            /// </summary>
+            Text,
+            /// <summary>
+            /// Renders an NPatch image.
+            /// </summary>
+            NPatch,
+            /// <summary>
+            /// Renders an SVG image.
+            /// </summary>
+            SVG,
+            /// <summary>
+            /// Renders a animated image (animated GIF).
+            /// </summary>
+            AnimatedImage
+        }
+
         /// <summary>
-        /// Hide n characters from start.
+        /// This specifies visual properties.
         /// </summary>
-        HideCount,
+        /// <since_tizen> 3 </since_tizen>
+        public struct Property
+        {
+            /// <summary>
+            /// Type.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
+            /// <summary>
+            /// Shader.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
+            /// <summary>
+            /// Transform.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
+            /// <summary>
+            /// PremultipliedAlpha.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
+            /// <summary>
+            /// MixColor.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
+            /// <summary>
+            /// Opacity.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
+            /// <summary>
+            /// The fitting mode of the visual.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public static readonly int VisualFittingMode = NDalic.VISUAL_PROPERTY_MIX_COLOR + 2;
+        }
+
         /// <summary>
-        /// Show n characters from start.
+        /// This specifies shader properties.
         /// </summary>
-        ShowCount,
+        /// <since_tizen> 3 </since_tizen>
+        public struct ShaderProperty
+        {
+            /// <summary>
+            /// Vertex shader code
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
+            /// <summary>
+            /// Fragment shader code
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
+            /// <summary>
+            /// How to subdivide the grid along X
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
+            /// <summary>
+            /// How to subdivide the grid along Y
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
+            /// <summary>
+            /// Bitmask of hints
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
+        }
+
         /// <summary>
-        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
+        /// This specifies visaul align types.
         /// </summary>
-        ShowLastCharacter
+        /// <since_tizen> 3 </since_tizen>
+        public enum AlignType
+        {
+            /// <summary>
+            /// TopBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopBegin = 0,
+            /// <summary>
+            /// TopCenter
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopCenter,
+            /// <summary>
+            /// TopEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            TopEnd,
+            /// <summary>
+            /// CenterBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CenterBegin,
+            /// <summary>
+            /// Center
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Center,
+            /// <summary>
+            /// CenterEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CenterEnd,
+            /// <summary>
+            /// BottomBegin
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomBegin,
+            /// <summary>
+            /// BottomCenter
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomCenter,
+            /// <summary>
+            /// BottomEnd
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            BottomEnd
+        }
     }
 
     /// <summary>
-    /// Auto scrolling stop behavior.
+    /// This specifies properties of the BorderVisual.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum AutoScrollStopMode
+    public struct BorderVisualProperty
     {
         /// <summary>
-        /// Stop animation after current loop finished.
+        /// The color of the border.
         /// </summary>
-        FinishLoop,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
         /// <summary>
-        /// Stop animation immediately and reset position.
+        /// The width of the border (in pixels).
         /// </summary>
-        Immediate
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+        /// <summary>
+        /// Whether anti-aliasing of the border is required.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
     }
 
     /// <summary>
-    /// An enum of screen mode.
+    /// This specifies properties of the ColorVisual.
     /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum ScreenOffMode
+    /// <since_tizen> 3 </since_tizen>
+    public struct ColorVisualProperty
     {
         /// <summary>
-        /// The mode which turns the screen off after a timeout.
+        /// The solid color required.
         /// </summary>
-        Timout,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
         /// <summary>
-        /// The mode which keeps the screen turned on.
+        /// Whether to render if the MixColor is transparent.
         /// </summary>
-        Never
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
     }
 
     /// <summary>
-    /// An enum of notification window's priority level.
+    /// This specifies properties of the GradientVisual.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum NotificationLevel
+    public struct GradientVisualProperty
     {
         /// <summary>
-        /// No notification level.<br />
-        /// Default level.<br />
-        /// This value makes the notification window place in the layer of the normal window.
+        /// The start position of a linear gradient.
         /// </summary>
-        None = -1,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
         /// <summary>
-        /// The base nofitication level.
+        /// The end position of a linear gradient.
         /// </summary>
-        Base = 10,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
         /// <summary>
-        /// The medium notification level than base.
+        /// The center point of a radial gradient.
         /// </summary>
-        Medium = 20,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
         /// <summary>
-        /// The higher notification level than medium.
+        /// The size of the radius of a radial gradient.
         /// </summary>
-        High = 30,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
         /// <summary>
-        /// The highest notification level.
+        /// All the stop offsets.
         /// </summary>
-        Top = 40
-    }
-
-    /// <summary>
-    /// An enum of window types.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum WindowType
-    {
-        /// <summary>
-        /// A default window type.<br />
-        /// Indicates a normal or top-level window.
-        /// Almost every window will be created with this type.
-        /// </summary>
-        Normal,
-        /// <summary>
-        /// A notification window, like a warning about battery life or a new email received.
-        /// </summary>
-        Notification,
-        /// <summary>
-        /// A persistent utility window, like a toolbox or a palette.
-        /// </summary>
-        Utility,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
         /// <summary>
-        /// Used for simple dialog windows.
+        /// The color at the stop offsets.
         /// </summary>
-        Dialog
-    }
-
-    /// <since_tizen> 3 </since_tizen>
-    public enum DisposeTypes
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
         /// <summary>
-        /// Called By User
+        /// Defines the coordinate system for certain attributes of the points in a gradient.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        Explicit,
+        public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
         /// <summary>
-        /// Called by DisposeQueue
+        /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        Implicit,
+        public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
     }
 
     /// <summary>
-    /// An enum of the scroll state of the text eidtor.
+    /// This specifies properties of the ImageVisual.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum ScrollState
+    public struct ImageVisualProperty
     {
         /// <summary>
-        /// Scrolling is started.
+        /// The URL of the image.
         /// </summary>
-        Started,
-
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
         /// <summary>
-        /// Scrolling is finished.
+        /// The URL of the alpha mask image.
         /// </summary>
-        Finished
-    }
-
-    /// <summary>
-    /// An enum of the line wrap mode of text controls.
-    /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum LineWrapMode
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
         /// <summary>
-        /// The word mode will move a word to the next line.
+        /// Fitting options, used when resizing images to fit desired dimensions.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Word,
-
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
         /// <summary>
-        /// character will move character by character to the next line.
+        /// Filtering options, used when resizing images to sample original pixels.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Character
-    }
-
-    /// <summary>
-    /// An enum of text directions.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum TextDirection
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
         /// <summary>
-        /// Text direction is from left to right.
+        /// The desired image width.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        LeftToRight,
-
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
         /// <summary>
-        /// Text direction is from right to left.
+        /// The desired image height.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        RightToLeft
-    }
-
-    /// <summary>
-    /// An enum of vertical line alignments.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum VerticalLineAlignment
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
         /// <summary>
-        /// vertical line alignment is from top.
+        /// Whether to load the image synchronously.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Top,
-
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
         /// <summary>
-        /// vertical line alignment is from center.
+        /// If true, only draws the borders.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Center,
-
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
         /// <summary>
-        /// vertical line alignment is from bottom.
+        /// The image area to be displayed.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Bottom
-    }
-
-    /// <summary>
-    /// Enumeration type for the font's slant.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontSlantType
-    {
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
         /// <summary>
-        /// None.
+        /// The wrap mode for u coordinate.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
         /// <summary>
-        /// Normal.
+        /// The wrap mode for v coordinate.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
         /// <summary>
-        /// Roman.
+        /// The border of the image.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Roman = Normal,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
         /// <summary>
-        /// Italic.
+        /// Whether to use the texture atlas.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Italic,
+        public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
         /// <summary>
-        /// Oblique.
+        /// The scale factor to apply to the content image before masking.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Oblique
-    }
-
-    /// <summary>
-    /// Enumeration type for the font's weight.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontWeightType
-    {
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
         /// <summary>
-        /// None.
+        /// Whether to crop image to mask or scale mask to fit image
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
         /// <summary>
-        /// Thin.
+        /// Defines the batch size for pre-loading images in the AnimatedImageVisual
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Thin,
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
         /// <summary>
-        /// UltraLight.
+        /// Defines the cache size for loading images in the AnimatedImageVisual
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraLight,
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
         /// <summary>
-        /// ExtraLight.
+        /// The number of milliseconds between each frame in the AnimatedImageVisual
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraLight = UltraLight,
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
         /// <summary>
-        /// Light.
+        /// The number of times the AnimatedImageVisual will be looped.
+        /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Light,
+        public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
         /// <summary>
-        /// DemiLight.
+        /// The policy to determine when an image should no longer be cached.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        DemiLight,
+        public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
         /// <summary>
-        /// SemiLight.
+        /// The policy to determine when an image should be loaded.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        SemiLight = DemiLight,
+        public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
         /// <summary>
-        /// Book.
+        /// Determines if image orientation should be corrected so that the image displays as it was intended.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Book,
+        public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
         /// <summary>
-        /// Normal.
+        /// Overlays the auxiliary image on top of an NPatch image.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Normal,
+        public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
         /// <summary>
-        /// Regular.
+        /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Regular = Normal,
+        public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
+    }
+
+    /// <summary>
+    /// This specifies properties of the MeshVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct MeshVisualProperty
+    {
         /// <summary>
-        /// Medium.
+        /// The location of the ".obj" file.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Medium,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
         /// <summary>
-        /// DemiBold.
+        /// The location of the ".mtl" file.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        DemiBold,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
         /// <summary>
-        /// SemiBold.
+        /// Path to the directory the textures (including gloss and normal) are stored in.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiBold = DemiBold,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
         /// <summary>
-        /// Bold.
+        /// Sets the type of shading mode that the mesh will use.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Bold,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
         /// <summary>
-        /// UltraBold.
+        /// Whether to use mipmaps for textures or not.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraBold,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
         /// <summary>
-        /// ExtraBold.
+        /// Whether to average normals at each point to smooth textures or not.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBold = UltraBold,
-        /// <summary>
-        /// Black.
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+        /// <summary>
+        /// The position, in stage space, of the point light that applies lighting to the model.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Black,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
+    }
+
+    /// <summary>
+    /// This specifies properties of the PrimitiveVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct PrimitiveVisualProperty
+    {
         /// <summary>
-        /// Heavy.
+        /// The specific shape to render.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Heavy = Black,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
         /// <summary>
-        /// ExtraBlack.
+        /// The color of the shape.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBlack = Black
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+        /// <summary>
+        /// The number of slices as you go around the shape.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
+        /// <summary>
+        /// The number of stacks as you go down the shape.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
+        /// <summary>
+        /// The scale of the radius of the top circle of a conical frustrum.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
+        /// <summary>
+        /// The scale of the radius of the bottom circle of a conical frustrum.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
+        /// <summary>
+        /// The scale of the height of a conic.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
+        /// <summary>
+        /// The scale of the radius of a cylinder.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
+        /// <summary>
+        /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
+        /// <summary>
+        /// Determines how bevelled the cuboid should be, based off the smallest dimension.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
+        /// <summary>
+        /// Defines how smooth the bevelled edges should be.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
+        /// <summary>
+        /// The position, in stage space, of the point light that applies lighting to the model.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
     }
 
     /// <summary>
-    /// Enumeration type for the font's width.
+    /// This specifies properties of the TextVisual.
     /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontWidthType
+    /// <since_tizen> 3 </since_tizen>
+    public struct TextVisualProperty
     {
         /// <summary>
-        /// None.
+        /// The text to display in UTF-8 format.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
         /// <summary>
-        /// UltraCondensed.
+        /// The requested font family to use.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
         /// <summary>
-        /// ExtraCondensed.
+        /// The requested font style to use.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
         /// <summary>
-        /// Condensed.
+        /// The size of font in points.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Condensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
         /// <summary>
-        /// SemiCondensed.
+        /// The single-line or multi-line layout option.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiCondensed,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
         /// <summary>
-        /// Normal.
+        /// The line horizontal alignment.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
         /// <summary>
-        /// SemiExpanded.
+        /// The line vertical alignment.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
+        /// <summary>
+        /// The color of the text.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
+        /// <summary>
+        /// Whether the mark-up processing is enabled.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        /// <summary>
+        /// The shadow parameters.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        SemiExpanded,
+        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
         /// <summary>
-        /// Expanded.
+        /// The default underline parameters.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        Expanded,
+        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
         /// <summary>
-        /// ExtraExpanded.
+        /// The default outline parameters.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        ExtraExpanded,
+        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
         /// <summary>
-        /// UltraExpanded.
+        /// The default text background parameters.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        UltraExpanded
+        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
     }
 
     /// <summary>
-    /// Enumeration type for the glyph type.
+    /// This specifies properties of the NpatchImageVisual.
     /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum GlyphType
+    /// <since_tizen> 3 </since_tizen>
+    public struct NpatchImageVisualProperty
     {
         /// <summary>
-        /// Glyph stored as pixels.
+        /// The URL of the image.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        BitmapGlyph,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
         /// <summary>
-        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
+        /// Fitting options, used when resizing images to fit desired dimensions.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        VectorGlyph
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        /// <summary>
+        /// Filtering options, used when resizing images to sample original pixels.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        /// <summary>
+        /// The desired image width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        /// <summary>
+        /// The desired image height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        /// <summary>
+        /// Whether to load the image synchronously.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        /// <summary>
+        /// If true, only draws the borders.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        /// <summary>
+        /// The image area to be displayed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        /// <summary>
+        /// The wrap mode for u coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        /// <summary>
+        /// The wrap mode for v coordinate.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        /// <summary>
+        /// The border of the image.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
     }
 
     /// <summary>
-    /// Enumeration for Setting the rendering behavior of a Window.
+    /// The HiddenInput property.
     /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum RenderingBehaviorType
+    /// <since_tizen> 3 </since_tizen>
+    public struct HiddenInputProperty
     {
         /// <summary>
-        /// Default. Only renders if required.
+        /// The mode for input text display.
         /// </summary>
-        IfRequired,
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
         /// <summary>
-        /// Renders continuously.
+        /// All input characters are substituted by this character.
         /// </summary>
-        Continuously
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
+        /// <summary>
+        /// Length of text to show or hide, available when HIDE_COUNT/SHOW_COUNT mode is used.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
+        /// <summary>
+        /// Hide last character after this duration, available when SHOW_LAST_CHARACTER mode.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
     }
 
     /// <summary>
-    /// This specifies visual types.
+    /// The type for HiddenInput mode.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct Visual
+    public enum HiddenInputModeType
     {
         /// <summary>
-        /// The index for the visual type.
+        /// Don't hide text.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Type
-        {
-            /// <summary>
-            /// Renders a solid color as an internal border to the control's quad.
-            /// </summary>
-            Border,
-            /// <summary>
-            /// Renders a solid color to the control's quad.
-            /// </summary>
-            Color,
-            /// <summary>
-            /// Renders a smooth transition of colors to the control's quad.
-            /// </summary>
-            Gradient,
-            /// <summary>
-            /// Renders an image into the control's quad.
-            /// </summary>
-            Image,
-            /// <summary>
-            /// Renders a mesh using an "obj" file, optionally with textures provided by an "mtl" file.
-            /// </summary>
-            Mesh,
-            /// <summary>
-            /// Renders a simple 3D shape, such as a cube or a sphere.
-            /// </summary>
-            Primitive,
-            /// <summary>
-            /// Renders a simple wire-frame outlining a quad.
-            /// </summary>
-            Wireframe,
-            /// <summary>
-            /// Renders text.
-            /// </summary>
-            Text,
-            /// <summary>
-            /// Renders an NPatch image.
-            /// </summary>
-            NPatch,
-            /// <summary>
-            /// Renders an SVG image.
-            /// </summary>
-            SVG,
-            /// <summary>
-            /// Renders a animated image (animated GIF).
-            /// </summary>
-            AnimatedImage
-        }
-
-        /// <summary>
-        /// This specifies visual properties.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public struct Property
-        {
-            /// <summary>
-            /// Type.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Type = NDalic.VISUAL_PROPERTY_TYPE;
-            /// <summary>
-            /// Shader.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Shader = NDalic.VISUAL_PROPERTY_SHADER;
-            /// <summary>
-            /// Transform.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Transform = NDalic.VISUAL_PROPERTY_TRANSFORM;
-            /// <summary>
-            /// PremultipliedAlpha.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int PremultipliedAlpha = NDalic.VISUAL_PROPERTY_PREMULTIPLIED_ALPHA;
-            /// <summary>
-            /// MixColor.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int MixColor = NDalic.VISUAL_PROPERTY_MIX_COLOR;
-            /// <summary>
-            /// Opacity.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int Opacity = NDalic.VISUAL_PROPERTY_MIX_COLOR + 1;
-            /// <summary>
-            /// The fitting mode of the visual.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public static readonly int VisualFittingMode = NDalic.VISUAL_PROPERTY_MIX_COLOR + 2;
-        }
-
-        /// <summary>
-        /// This specifies shader properties.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public struct ShaderProperty
-        {
-            /// <summary>
-            /// Vertex shader code
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int VertexShader = NDalic.VISUAL_SHADER_VERTEX;
-            /// <summary>
-            /// Fragment shader code
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int FragmentShader = NDalic.VISUAL_SHADER_FRAGMENT;
-            /// <summary>
-            /// How to subdivide the grid along X
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderSubdivideGridX = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_X;
-            /// <summary>
-            /// How to subdivide the grid along Y
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderSubdivideGridY = NDalic.VISUAL_SHADER_SUBDIVIDE_GRID_Y;
-            /// <summary>
-            /// Bitmask of hints
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int ShaderHints = NDalic.VISUAL_SHADER_HINTS;
-        }
-
-        /// <summary>
-        /// This specifies visaul align types.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum AlignType
-        {
-            /// <summary>
-            /// TopBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopBegin = 0,
-            /// <summary>
-            /// TopCenter
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopCenter,
-            /// <summary>
-            /// TopEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            TopEnd,
-            /// <summary>
-            /// CenterBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CenterBegin,
-            /// <summary>
-            /// Center
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Center,
-            /// <summary>
-            /// CenterEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CenterEnd,
-            /// <summary>
-            /// BottomBegin
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomBegin,
-            /// <summary>
-            /// BottomCenter
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomCenter,
-            /// <summary>
-            /// BottomEnd
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            BottomEnd
-        }
-    }
-
-    /// <summary>
-    /// This specifies properties of the BorderVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct BorderVisualProperty
-    {
-        /// <summary>
-        /// The color of the border.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Color = NDalic.BORDER_VISUAL_COLOR;
-        /// <summary>
-        /// The width of the border (in pixels).
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
-        /// <summary>
-        /// Whether anti-aliasing of the border is required.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
-    }
-
-    /// <summary>
-    /// This specifies properties of the ColorVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct ColorVisualProperty
-    {
-        /// <summary>
-        /// The solid color required.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
-        /// <summary>
-        /// Whether to render if the MixColor is transparent.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
-    }
-
-    /// <summary>
-    /// This specifies properties of the GradientVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct GradientVisualProperty
-    {
-        /// <summary>
-        /// The start position of a linear gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StartPosition = NDalic.GRADIENT_VISUAL_START_POSITION;
-        /// <summary>
-        /// The end position of a linear gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
-        /// <summary>
-        /// The center point of a radial gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
-        /// <summary>
-        /// The size of the radius of a radial gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
-        /// <summary>
-        /// All the stop offsets.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
-        /// <summary>
-        /// The color at the stop offsets.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StopColor = NDalic.GRADIENT_VISUAL_STOP_COLOR;
-        /// <summary>
-        /// Defines the coordinate system for certain attributes of the points in a gradient.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Units = NDalic.GRADIENT_VISUAL_UNITS;
-        /// <summary>
-        /// Indicates what happens if the gradient starts or ends inside the bounds of the target rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SpreadMethod = NDalic.GRADIENT_VISUAL_SPREAD_METHOD;
-    }
-
-    /// <summary>
-    /// This specifies properties of the ImageVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct ImageVisualProperty
-    {
-        /// <summary>
-        /// The URL of the image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
-        /// <summary>
-        /// The URL of the alpha mask image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int AlphaMaskURL = NDalic.IMAGE_VISUAL_ALPHA_MASK_URL;
-        /// <summary>
-        /// Fitting options, used when resizing images to fit desired dimensions.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
-        /// <summary>
-        /// Filtering options, used when resizing images to sample original pixels.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
-        /// <summary>
-        /// The desired image width.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
-        /// <summary>
-        /// The desired image height.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
-        /// <summary>
-        /// Whether to load the image synchronously.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
-        /// <summary>
-        /// If true, only draws the borders.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
-        /// <summary>
-        /// The image area to be displayed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
-        /// <summary>
-        /// The wrap mode for u coordinate.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
-        /// <summary>
-        /// The wrap mode for v coordinate.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
-        /// <summary>
-        /// The border of the image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
-        /// <summary>
-        /// Whether to use the texture atlas.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
-        /// <summary>
-        /// The scale factor to apply to the content image before masking.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
-        /// <summary>
-        /// Whether to crop image to mask or scale mask to fit image
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
-        /// <summary>
-        /// Defines the batch size for pre-loading images in the AnimatedImageVisual
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
-        /// <summary>
-        /// Defines the cache size for loading images in the AnimatedImageVisual
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
-        /// <summary>
-        /// The number of milliseconds between each frame in the AnimatedImageVisual
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
-        /// <summary>
-        /// The number of times the AnimatedImageVisual will be looped.
-        /// The default is -1. If the value is less than 0, loop unlimited. Otherwise, loop loopCount times.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
-        /// <summary>
-        /// The policy to determine when an image should no longer be cached.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
-        /// <summary>
-        /// The policy to determine when an image should be loaded.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
-        /// <summary>
-        /// Determines if image orientation should be corrected so that the image displays as it was intended.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
-        /// <summary>
-        /// Overlays the auxiliary image on top of an NPatch image.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
-        /// <summary>
-        /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
-    }
-
-    /// <summary>
-    /// This specifies properties of the MeshVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct MeshVisualProperty
-    {
-        /// <summary>
-        /// The location of the ".obj" file.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
-        /// <summary>
-        /// The location of the ".mtl" file.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
-        /// <summary>
-        /// Path to the directory the textures (including gloss and normal) are stored in.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
-        /// <summary>
-        /// Sets the type of shading mode that the mesh will use.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
-        /// <summary>
-        /// Whether to use mipmaps for textures or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
-        /// <summary>
-        /// Whether to average normals at each point to smooth textures or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
-        /// <summary>
-        /// The position, in stage space, of the point light that applies lighting to the model.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int LightPosition = NDalic.MESH_VISUAL_LIGHT_POSITION;
-    }
-
-    /// <summary>
-    /// This specifies properties of the PrimitiveVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct PrimitiveVisualProperty
-    {
-        /// <summary>
-        /// The specific shape to render.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
-        /// <summary>
-        /// The color of the shape.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
-        /// <summary>
-        /// The number of slices as you go around the shape.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Slices = NDalic.PRIMITIVE_VISUAL_SLICES;
-        /// <summary>
-        /// The number of stacks as you go down the shape.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Stacks = NDalic.PRIMITIVE_VISUAL_STACKS;
-        /// <summary>
-        /// The scale of the radius of the top circle of a conical frustrum.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleTopRadius = NDalic.PRIMITIVE_VISUAL_SCALE_TOP_RADIUS;
-        /// <summary>
-        /// The scale of the radius of the bottom circle of a conical frustrum.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleBottomRadius = NDalic.PRIMITIVE_VISUAL_SCALE_BOTTOM_RADIUS;
-        /// <summary>
-        /// The scale of the height of a conic.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleHeight = NDalic.PRIMITIVE_VISUAL_SCALE_HEIGHT;
-        /// <summary>
-        /// The scale of the radius of a cylinder.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleRadius = NDalic.PRIMITIVE_VISUAL_SCALE_RADIUS;
-        /// <summary>
-        /// The dimensions of a cuboid. Scales in the same fashion as a 9-patch image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ScaleDimensions = NDalic.PRIMITIVE_VISUAL_SCALE_DIMENSIONS;
-        /// <summary>
-        /// Determines how bevelled the cuboid should be, based off the smallest dimension.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BevelPercentage = NDalic.PRIMITIVE_VISUAL_BEVEL_PERCENTAGE;
-        /// <summary>
-        /// Defines how smooth the bevelled edges should be.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BevelSmoothness = NDalic.PRIMITIVE_VISUAL_BEVEL_SMOOTHNESS;
-        /// <summary>
-        /// The position, in stage space, of the point light that applies lighting to the model.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int LightPosition = NDalic.PRIMITIVE_VISUAL_LIGHT_POSITION;
-    }
-
-    /// <summary>
-    /// This specifies properties of the TextVisual.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct TextVisualProperty
-    {
-        /// <summary>
-        /// The text to display in UTF-8 format.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
-        /// <summary>
-        /// The requested font family to use.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
-        /// <summary>
-        /// The requested font style to use.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
-        /// <summary>
-        /// The size of font in points.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
-        /// <summary>
-        /// The single-line or multi-line layout option.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
-        /// <summary>
-        /// The line horizontal alignment.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
-        /// <summary>
-        /// The line vertical alignment.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
-        /// <summary>
-        /// The color of the text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
-        /// <summary>
-        /// Whether the mark-up processing is enabled.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        HideNone,
         /// <summary>
-        /// The shadow parameters.
+        /// Hide all the input text.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
+        HideAll,
         /// <summary>
-        /// The default underline parameters.
+        /// Hide n characters from start.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
+        HideCount,
         /// <summary>
-        /// The default outline parameters.
+        /// Show n characters from start.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
+        ShowCount,
         /// <summary>
-        /// The default text background parameters.
+        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
+        ShowLastCharacter
     }
 
     /// <summary>
-    /// This specifies properties of the NpatchImageVisual.
+    /// ParentOrigin constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct NpatchImageVisualProperty
+    public struct ParentOrigin
     {
         /// <summary>
-        /// The URL of the image.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
-        /// <summary>
-        /// Fitting options, used when resizing images to fit desired dimensions.
+        /// Top
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        public static float Top
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// Filtering options, used when resizing images to sample original pixels.
+        /// Bottom
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        public static float Bottom
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The desired image width.
+        /// Left
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        public static float Left
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The desired image height.
+        /// Right
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        public static float Right
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// Whether to load the image synchronously.
+        /// Middle
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        public static float Middle
+        {
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// If true, only draws the borders.
+        /// TopLeft
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        public static Position TopLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The image area to be displayed.
+        /// TopCenter
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        public static Position TopCenter
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The wrap mode for u coordinate.
+        /// TopRight
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        public static Position TopRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The wrap mode for v coordinate.
+        /// CenterLeft
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        public static Position CenterLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// The border of the image.
+        /// Center
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
-    }
+        public static Position Center
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
 
-    /// <summary>
-    /// The HiddenInput property.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct HiddenInputProperty
-    {
         /// <summary>
-        /// The mode for input text display.
+        /// CenterRight
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
+        public static Position CenterRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// All input characters are substituted by this character.
+        /// BottomLeft
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
+        public static Position BottomLeft
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// Length of text to show or hide, available when HIDE_COUNT/SHOW_COUNT mode is used.
+        /// BottomCenter
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
+        public static Position BottomCenter
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
         /// <summary>
-        /// Hide last character after this duration, available when SHOW_LAST_CHARACTER mode.
+        /// BottomRight
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
+        /// <since_tizen> 3 </since_tizen>
+        public static Position BottomRight
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
     }
 
     /// <summary>
-    /// ParentOrigin constants.
+    /// PivotPoint constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct ParentOrigin
+    public struct PivotPoint
     {
         /// <summary>
         /// Top
@@ -2046,12 +1848,11 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                float ret = NDalicPINVOKE.AnchorPointTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// Bottom
         /// </summary>
@@ -2060,12 +1861,11 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                float ret = NDalicPINVOKE.AnchorPointBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// Left
         /// </summary>
@@ -2074,12 +1874,11 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                float ret = NDalicPINVOKE.AnchorPointLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// Right
         /// </summary>
@@ -2088,12 +1887,11 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginRight_get();
+                float ret = NDalicPINVOKE.AnchorPointRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// Middle
         /// </summary>
@@ -2102,12 +1900,11 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// TopLeft
         /// </summary>
@@ -2116,13 +1913,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// TopCenter
         /// </summary>
@@ -2131,13 +1927,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// TopRight
         /// </summary>
@@ -2146,13 +1941,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// CenterLeft
         /// </summary>
@@ -2161,13 +1955,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// Center
         /// </summary>
@@ -2176,13 +1969,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// CenterRight
         /// </summary>
@@ -2191,13 +1983,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// BottomLeft
         /// </summary>
@@ -2206,13 +1997,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// BottomCenter
         /// </summary>
@@ -2221,13 +2011,12 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
-
         /// <summary>
         /// BottomRight
         /// </summary>
@@ -2236,7 +2025,98 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+    }
+    /// <summary>
+    /// PositionAxis constants.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct PositionAxis
+    {
+        /// <summary>
+        /// The X axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position X
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+        /// <summary>
+        /// The Y axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position Y
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+        /// <summary>
+        /// The Z axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position Z
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+        /// <summary>
+        /// The Negative X axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeX
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+        /// <summary>
+        /// The Negative Y axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeY
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+        /// <summary>
+        /// The Negative Z axis
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position NegativeZ
+        {
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -2245,10 +2125,114 @@ namespace Tizen.NUI
     }
 
     /// <summary>
-    /// PivotPoint constants.
+    /// Auto scrolling stop behavior.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum AutoScrollStopMode
+    {
+        /// <summary>
+        /// Stop animation after current loop finished.
+        /// </summary>
+        FinishLoop,
+        /// <summary>
+        /// Stop animation immediately and reset position.
+        /// </summary>
+        Immediate
+    }
+
+    /// <summary>
+    /// An enum of screen mode.
+    /// </summary>
+    /// <since_tizen> 4 </since_tizen>
+    public enum ScreenOffMode {
+        /// <summary>
+        /// The mode which turns the screen off after a timeout.
+        /// </summary>
+        Timout,
+        /// <summary>
+        /// The mode which keeps the screen turned on.
+        /// </summary>
+        Never
+    }
+
+    /// <summary>
+    /// An enum of notification window's priority level.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum NotificationLevel {
+        /// <summary>
+        /// No notification level.<br />
+        /// Default level.<br />
+        /// This value makes the notification window place in the layer of the normal window.
+        /// </summary>
+        None = -1,
+        /// <summary>
+        /// The base nofitication level.
+        /// </summary>
+        Base = 10,
+        /// <summary>
+        /// The medium notification level than base.
+        /// </summary>
+        Medium = 20,
+        /// <summary>
+        /// The higher notification level than medium.
+        /// </summary>
+        High = 30,
+        /// <summary>
+        /// The highest notification level.
+        /// </summary>
+        Top = 40
+    }
+
+    /// <summary>
+    /// An enum of window types.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum WindowType {
+        /// <summary>
+        /// A default window type.<br />
+        /// Indicates a normal or top-level window.
+        /// Almost every window will be created with this type.
+        /// </summary>
+        Normal,
+        /// <summary>
+        /// A notification window, like a warning about battery life or a new email received.
+        /// </summary>
+        Notification,
+        /// <summary>
+        /// A persistent utility window, like a toolbox or a palette.
+        /// </summary>
+        Utility,
+        /// <summary>
+        /// Used for simple dialog windows.
+        /// </summary>
+        Dialog
+    }
+
+    /// <since_tizen> 3 </since_tizen>
+    public enum DisposeTypes
+    {
+        /// <summary>
+        /// Called By User
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        Explicit,
+        /// <summary>
+        /// Called by DisposeQueue
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        Implicit,
+    }
+
+
+
+    /// <summary>
+    /// [Obsolete("Please do not use! this will be deprecated")]
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct PivotPoint
+    [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead!")]
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public struct AnchorPoint
     {
         /// <summary>
         /// Top
@@ -2442,296 +2426,313 @@ namespace Tizen.NUI
             }
         }
     }
+
     /// <summary>
-    /// PositionAxis constants.
+    /// An enum of the scroll state of the text eidtor.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct PositionAxis
+    public enum ScrollState
     {
         /// <summary>
-        /// The X axis
+        /// Scrolling is started.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position X
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        Started,
+
         /// <summary>
-        /// The Y axis
+        /// Scrolling is finished.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position Y
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        Finished
+    }
+
+    /// <summary>
+    /// An enum of the line wrap mode of text controls.
+    /// </summary>
+    /// <since_tizen> 4 </since_tizen>
+    public enum LineWrapMode
+    {
         /// <summary>
-        /// The Z axis
+        /// The word mode will move a word to the next line.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position Z
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 4 </since_tizen>
+        Word,
+
         /// <summary>
-        /// The Negative X axis
+        /// character will move character by character to the next line.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeX
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 4 </since_tizen>
+        Character
+    }
+
+    /// <summary>
+    /// An enum of text directions.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum TextDirection
+    {
         /// <summary>
-        /// The Negative Y axis
+        /// Text direction is from left to right.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        LeftToRight,
+
+        /// <summary>
+        /// Text direction is from right to left.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        RightToLeft
+    }
+
+    /// <summary>
+    /// An enum of vertical line alignments.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum VerticalLineAlignment
+    {    
+        /// <summary>
+        /// vertical line alignment is from top. 
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Top,
+
+        /// <summary>
+        /// vertical line alignment is from center.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Center,
+
+        /// <summary>
+        /// vertical line alignment is from bottom.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Bottom
+    }
+
+    /// <summary>
+    /// Enumeration type for the font's slant.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontSlantType
+    {
+        /// <summary>
+        /// None.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        None,
+        /// <summary>
+        /// Normal.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
+        /// <summary>
+        /// Roman.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Roman = Normal,
+        /// <summary>
+        /// Italic.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Italic,
+        /// <summary>
+        /// Oblique.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Oblique
+    }
+
+    /// <summary>
+    /// Enumeration type for the font's weight.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWeightType
+    {
+        /// <summary>
+        /// None.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        None,
+        /// <summary>
+        /// Thin.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Thin,
+        /// <summary>
+        /// UltraLight.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        UltraLight,
+        /// <summary>
+        /// ExtraLight.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        ExtraLight = UltraLight,
+        /// <summary>
+        /// Light.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Light,
+        /// <summary>
+        /// DemiLight.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        DemiLight,
+        /// <summary>
+        /// SemiLight.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        SemiLight = DemiLight,
+        /// <summary>
+        /// Book.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Book,
+        /// <summary>
+        /// Normal.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
+        /// <summary>
+        /// Regular.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Regular = Normal,
+        /// <summary>
+        /// Medium.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Medium,
+        /// <summary>
+        /// DemiBold.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        DemiBold,
+        /// <summary>
+        /// SemiBold.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        SemiBold = DemiBold,
+        /// <summary>
+        /// Bold.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Bold,
+        /// <summary>
+        /// UltraBold.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        UltraBold,
+        /// <summary>
+        /// ExtraBold.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        ExtraBold = UltraBold,
+        /// <summary>
+        /// Black.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        Black,
+        /// <summary>
+        /// Heavy.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeY
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        Heavy = Black,
         /// <summary>
-        /// The Negative Z axis
+        /// ExtraBlack.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position NegativeZ
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        ExtraBlack = Black
     }
 
     /// <summary>
-    /// [Obsolete("Please do not use! this will be deprecated")]
+    /// Enumeration type for the font's width.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead!")]
-    [EditorBrowsable(EditorBrowsableState.Never)]
-    public struct AnchorPoint
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWidthType
     {
         /// <summary>
-        /// Top
+        /// None.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float Top
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        None,
         /// <summary>
-        /// Bottom
+        /// UltraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float Bottom
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        UltraCondensed,
         /// <summary>
-        /// Left
+        /// ExtraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float Left
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        ExtraCondensed,
         /// <summary>
-        /// Right
+        /// Condensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float Right
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.AnchorPointRight_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        Condensed,
         /// <summary>
-        /// Middle
+        /// SemiCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float Middle
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        SemiCondensed,
         /// <summary>
-        /// TopLeft
+        /// Normal.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position TopLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
         /// <summary>
-        /// TopCenter
+        /// SemiExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position TopCenter
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        SemiExpanded,
         /// <summary>
-        /// TopRight
+        /// Expanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position TopRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        Expanded,
         /// <summary>
-        /// CenterLeft
+        /// ExtraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position CenterLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        ExtraExpanded,
         /// <summary>
-        /// Center
+        /// UltraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position Center
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        UltraExpanded
+    }
+
+    /// <summary>
+    /// Enumeration type for the glyph type.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum GlyphType
+    {
         /// <summary>
-        /// CenterRight
+        /// Glyph stored as pixels.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position CenterRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        BitmapGlyph,
         /// <summary>
-        /// BottomLeft
+        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position BottomLeft
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        /// <since_tizen> 5 </since_tizen>
+        VectorGlyph
+    }
+
+    /// <summary>
+    /// Enumeration for Setting the rendering behavior of a Window.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum RenderingBehaviorType
+    {
         /// <summary>
-        /// BottomCenter
+        /// Default. Only renders if required.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position BottomCenter
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        IfRequired,
         /// <summary>
-        /// BottomRight
+        /// Renders continuously.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position BottomRight
-        {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+        Continuously
     }
+
 }
index 87e1d8b..70c52fd 100755 (executable)
@@ -20,6 +20,7 @@ using System.Collections.Generic;
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// Represents an application that have UI screen. The NUIWidgetApplication class has a default stage.
     /// </summary>
@@ -50,35 +51,6 @@ namespace Tizen.NUI
             core?.RegisterWidgetInfo(new Dictionary<System.Type, string> { { widgetType, ApplicationInfo.ApplicationId } });
         }
 
-        internal WidgetApplication ApplicationHandle
-        {
-            get
-            {
-                return ((NUIWidgetCoreBackend)this.Backend).WidgetApplicationHandle;
-            }
-        }
-
-        /// <summary>
-        /// Run NUIWidgetApplication.
-        /// </summary>
-        /// <param name="args">Arguments from commandline.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Run(string[] args)
-        {
-            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
-            base.Run(args);
-        }
-
-        /// <summary>
-        /// Exit NUIWidgetApplication.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public override void Exit()
-        {
-            Tizen.Log.Fatal("NUI", "### NUIWidgetApplication Exit called");
-            base.Exit();
-        }
-
         /// <summary>
         /// Overrides this method if want to handle OnLocaleChanged behavior.
         /// </summary>
@@ -150,5 +122,34 @@ namespace Tizen.NUI
             Log.Fatal("NUI","OnCreate() is called!");
             base.OnCreate();
         }
+
+        /// <summary>
+        /// Run NUIWidgetApplication.
+        /// </summary>
+        /// <param name="args">Arguments from commandline.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Run(string[] args)
+        {
+            Backend.AddEventHandler(EventType.PreCreated, OnPreCreate);
+            base.Run(args);
+        }
+
+        /// <summary>
+        /// Exit NUIWidgetApplication.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public override void Exit()
+        {
+            Tizen.Log.Fatal("NUI", "### NUIWidgetApplication Exit called");
+            base.Exit();
+        }
+
+        internal WidgetApplication ApplicationHandle
+        {
+            get
+            {
+                return ((NUIWidgetCoreBackend)this.Backend).WidgetApplicationHandle;
+            }
+        }
     }
 }
\ No newline at end of file
index cd038e3..5e21aa7 100755 (executable)
@@ -26,61 +26,178 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class PaddingType : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PaddingType obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PaddingType()
+        {
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
 
         /// <summary>
-        /// Creates an uninitialized PaddingType.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true)
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// PaddingType Constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="start">Start padding or X coordinate</param>
-        /// <param name="end">End padding or Y coordinate</param>
-        /// <param name="top">Top padding or Height</param>
-        /// <param name="bottom">Bottom padding or Width</param>
         /// <since_tizen> 3 </since_tizen>
-        public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), true)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PaddingType(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
-        internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// Equality operator.
+        /// </summary>
+        /// <param name="a">First operand</param>
+        /// <param name="b">Second operand</param>
+        /// <returns>True if the values are identical</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static bool operator ==(PaddingType a, PaddingType b)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            // If both are null, or both are same instance, return true.
+            if (System.Object.ReferenceEquals(a, b))
+            {
+                return true;
+            }
+
+            // If one is null, but not both, return false.
+            if (((object)a == null) || ((object)b == null))
+            {
+                return false;
+            }
+
+            // Return true if the fields match:
+            return (System.Math.Abs(a.Start- b.Start) < NDalic.GetRangedEpsilon(a.Start, b.Start)) &&
+                   (System.Math.Abs(a.End - b.End) < NDalic.GetRangedEpsilon(a.End, b.End)) &&
+                   (System.Math.Abs(a.Bottom - b.Bottom) < NDalic.GetRangedEpsilon(a.Bottom, b.Bottom)) &&
+                   (System.Math.Abs(a.Top - b.Top) < NDalic.GetRangedEpsilon(a.Top, b.Top));
         }
 
         /// <summary>
-        /// Dispose.
+        /// Inequality operator.
         /// </summary>
+        /// <param name="a">First operand</param>
+        /// <param name="b">Second operand</param>
+        /// <returns>True if the values are not identical</returns>
         /// <since_tizen> 3 </since_tizen>
-        ~PaddingType()
+        public static bool operator !=(PaddingType a, PaddingType b)
         {
-            if (!isDisposeQueued)
+            return !(a == b);
+        }
+
+
+        /// <summary>
+        /// Equals
+        /// </summary>
+        /// <param name="o">The object should be compared.</param>
+        /// <returns>True if equal.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override bool Equals(object o)
+        {
+            if(o == null)
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                return false;
             }
+            if(!(o is PaddingType))
+            {
+                return false;
+            }
+            PaddingType p = (PaddingType)o;
+
+            // Return true if the fields match:
+            return (System.Math.Abs(Start- p.Start) < NDalic.GetRangedEpsilon(Start, p.Start)) &&
+                   (System.Math.Abs(End - p.End) < NDalic.GetRangedEpsilon(End, p.End)) &&
+                   (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
+                   (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
+        }
+
+        /// <summary>
+        /// Gets the the hash code of this baseHandle.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override int GetHashCode()
+        {
+            return base.GetHashCode();
         }
 
         /// <summary>
@@ -147,6 +264,42 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Creates an uninitialized PaddingType.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// PaddingType Constructor.
+        /// </summary>
+        /// <param name="start">Start padding or X coordinate</param>
+        /// <param name="end">End padding or Y coordinate</param>
+        /// <param name="top">Top padding or Height</param>
+        /// <param name="bottom">Bottom padding or Width</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Assignment from individual values.
+        /// </summary>
+        /// <param name="newStart">Start padding or X coordinate</param>
+        /// <param name="newEnd">End padding or Y coordinate</param>
+        /// <param name="newTop">Top padding or Height</param>
+        /// <param name="newBottom">Bottom padding or Width</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Set(float newStart, float newEnd, float newTop, float newBottom)
+        {
+            NDalicPINVOKE.PaddingType_Set(swigCPtr, newStart, newEnd, newTop, newBottom);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         private float left
         {
             set
@@ -236,160 +389,6 @@ namespace Tizen.NUI
                 return ret;
             }
         }
-
-        /// <summary>
-        /// Equality operator.
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>True if the values are identical</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static bool operator ==(PaddingType a, PaddingType b)
-        {
-            // If both are null, or both are same instance, return true.
-            if (System.Object.ReferenceEquals(a, b))
-            {
-                return true;
-            }
-
-            // If one is null, but not both, return false.
-            if (((object)a == null) || ((object)b == null))
-            {
-                return false;
-            }
-
-            // Return true if the fields match:
-            return (System.Math.Abs(a.Start - b.Start) < NDalic.GetRangedEpsilon(a.Start, b.Start)) &&
-                   (System.Math.Abs(a.End - b.End) < NDalic.GetRangedEpsilon(a.End, b.End)) &&
-                   (System.Math.Abs(a.Bottom - b.Bottom) < NDalic.GetRangedEpsilon(a.Bottom, b.Bottom)) &&
-                   (System.Math.Abs(a.Top - b.Top) < NDalic.GetRangedEpsilon(a.Top, b.Top));
-        }
-
-        /// <summary>
-        /// Inequality operator.
-        /// </summary>
-        /// <param name="a">First operand</param>
-        /// <param name="b">Second operand</param>
-        /// <returns>True if the values are not identical</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static bool operator !=(PaddingType a, PaddingType b)
-        {
-            return !(a == b);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-
-        /// <summary>
-        /// Equals
-        /// </summary>
-        /// <param name="o">The object should be compared.</param>
-        /// <returns>True if equal.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override bool Equals(object o)
-        {
-            if(o == null)
-            {
-                return false;
-            }
-            if(!(o is PaddingType))
-            {
-                return false;
-            }
-            PaddingType p = (PaddingType)o;
-
-            // Return true if the fields match:
-            return (System.Math.Abs(Start- p.Start) < NDalic.GetRangedEpsilon(Start, p.Start)) &&
-                   (System.Math.Abs(End - p.End) < NDalic.GetRangedEpsilon(End, p.End)) &&
-                   (System.Math.Abs(Bottom - p.Bottom) < NDalic.GetRangedEpsilon(Bottom, p.Bottom)) &&
-                   (System.Math.Abs(Top - p.Top) < NDalic.GetRangedEpsilon(Top, p.Top));
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this baseHandle.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
-        /// Assignment from individual values.
-        /// </summary>
-        /// <param name="newStart">Start padding or X coordinate</param>
-        /// <param name="newEnd">End padding or Y coordinate</param>
-        /// <param name="newTop">Top padding or Height</param>
-        /// <param name="newBottom">Bottom padding or Width</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Set(float newStart, float newEnd, float newTop, float newBottom)
-        {
-            NDalicPINVOKE.PaddingType_Set(swigCPtr, newStart, newEnd, newTop, newBottom);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PaddingType obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PaddingType(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
-        }
     }
 
 }
\ No newline at end of file
index 206efbe..f590dec 100755 (executable)
@@ -32,27 +32,57 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// The default constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
+        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="state">The state of the gesture</param>
-        internal PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true)
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PanGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
+
+        internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            PanGesture ret = new PanGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -153,6 +183,24 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="state">The state of the gesture</param>
+        internal PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
 
         private Vector2 velocity
         {
@@ -265,7 +313,6 @@ namespace Tizen.NUI
             }
         }
 
-
         /// <summary>
         /// Returns the speed at which the user is moving their fingers.<br />
         /// This is the pixel movement per millisecond.<br />
@@ -321,53 +368,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
-        {
-            PanGesture ret = new PanGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PanGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index b80f885..ffb8d77 100755 (executable)
@@ -31,39 +31,107 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private DaliEventHandler<object, DetectedEventArgs> _panGestureEventHandler;
-        private DetectedCallbackDelegate _panGestureCallbackDelegate;
+        internal PanGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGestureDetector obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         /// <summary>
-        /// Creates an initialized PanGestureDetector.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PanGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
 
+            base.Dispose(type);
         }
 
+
         /// <summary>
-        /// The copy constructor.
+        /// Event arguments that are passed via the PanGestureEvent signal.
         /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
+        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
+        public class DetectedEventArgs : EventArgs
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            private View _view;
+            private PanGesture _panGesture;
 
-        internal PanGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+            /// <summary>
+            /// The attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
 
+            /// <summary>
+            /// The PanGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public PanGesture PanGesture
+            {
+                get
+                {
+                    return _panGesture;
+                }
+                set
+                {
+                    _panGesture = value;
+                }
+            }
+        }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr panGesture);
+        private DaliEventHandler<object, DetectedEventArgs> _panGestureEventHandler;
+        private DetectedCallbackDelegate _panGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified pan is detected on the attached view.
@@ -101,6 +169,138 @@ namespace Tizen.NUI
             }
         }
 
+        private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (PanGestureEventArgs) with real data
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.PanGesture = Tizen.NUI.PanGesture.GetPanGestureFromPtr(panGesture);
+
+            if (_panGestureEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _panGestureEventHandler(this, e);
+            }
+
+        }
+
+        internal static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            PanGestureDetector ret = new PanGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal class Property : global::System.IDisposable
+        {
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+            protected bool swigCMemOwn;
+
+            internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            }
+
+            //A Flag to check who called Dispose(). (By User or DisposeQueue)
+            private bool isDisposeQueued = false;
+            //A Flat to check if it is already disposed.
+
+            protected bool disposed = false;
+
+
+            ~Property()
+            {
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
+            }
+
+
+            public void Dispose()
+            {
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
+                {
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                }
+
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
+            }
+
+
+            protected virtual void Dispose(DisposeTypes type)
+            {
+                if (disposed)
+                {
+                    return;
+                }
+
+                if (type == DisposeTypes.Explicit)
+                {
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
+                }
+
+                //Release your own unmanaged resources here.
+                //You should not access any managed member here except static instance.
+                //because the execution order of Finalizes is non-deterministic.
+
+                if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                {
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicPINVOKE.delete_PanGestureDetector_Property(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
+
+
+            public Property() : this(NDalicPINVOKE.new_PanGestureDetector_Property(), true)
+            {
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+
+
+            public static readonly int SCREEN_POSITION = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_POSITION_get();
+
+            public static readonly int SCREEN_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_DISPLACEMENT_get();
+
+            public static readonly int SCREEN_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_VELOCITY_get();
+
+            public static readonly int LOCAL_POSITION = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_POSITION_get();
+
+            public static readonly int LOCAL_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_DISPLACEMENT_get();
+
+            public static readonly int LOCAL_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_VELOCITY_get();
+
+            public static readonly int PANNING = NDalicPINVOKE.PanGestureDetector_Property_PANNING_get();
+
+        }
+
         /// <summary>
         /// For a left pan (-PI Radians).
         /// </summary>
@@ -214,108 +414,39 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the screen position.
+        /// Creates an initialized PanGestureDetector.
         /// </summary>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenPosition
+        public PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), true)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
-                return temp;
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        internal new static PanGestureDetector DownCast(BaseHandle handle)
+        {
+            PanGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PanGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Retrieves the screen displacement.
+        /// The copy constructor.
         /// </summary>
+        /// <param name="handle">A reference to the copied handle</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenDisplacement
+        public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(temp);
-                return temp;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the screen velocity.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 ScreenVelocity
-        {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_VELOCITY).Get(temp);
-                return temp;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the local position.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalPosition
-        {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_POSITION).Get(temp);
-                return temp;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the local displacement
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalDisplacement
-        {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(temp);
-                return temp;
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the local velocity.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public Vector2 LocalVelocity
-        {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_VELOCITY).Get(temp);
-                return temp;
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrieves the panning flag.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public bool Panning
+        internal PanGestureDetector Assign(PanGestureDetector rhs)
         {
-            get
-            {
-                bool temp = false;
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
-                return temp;
-            }
+            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_Assign(swigCPtr, PanGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -439,6 +570,13 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal AngleThresholdPair GetAngle(uint index)
+        {
+            AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Clears any directional angles that are used by the gesture detector.
         /// </summary>
@@ -474,6 +612,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal PanGestureDetectedSignal DetectedSignal()
+        {
+            PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Allows setting of the pan properties that are returned in constraints.
         /// </summary>
@@ -486,250 +631,109 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            PanGestureDetector ret = new PanGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal new static PanGestureDetector DownCast(BaseHandle handle)
-        {
-            PanGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as PanGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal AngleThresholdPair GetAngle(uint index)
-        {
-            AngleThresholdPair ret = new AngleThresholdPair(NDalicPINVOKE.PanGestureDetector_GetAngle(swigCPtr, index), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal PanGestureDetector Assign(PanGestureDetector rhs)
-        {
-            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_Assign(swigCPtr, PanGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal PanGestureDetectedSignal DetectedSignal()
-        {
-            PanGestureDetectedSignal ret = new PanGestureDetectedSignal(NDalicPINVOKE.PanGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Retrieves the screen position.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
+        public Vector2 ScreenPosition
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PanGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
+                return temp;
             }
-
-            base.Dispose(type);
         }
 
-        private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
+        /// <summary>
+        /// Retrieves the screen displacement.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 ScreenDisplacement
         {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (PanGestureEventArgs) with real data
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.PanGesture = Tizen.NUI.PanGesture.GetPanGestureFromPtr(panGesture);
-
-            if (_panGestureEventHandler != null)
+            get
             {
-                //here we send all data to user event handlers
-                _panGestureEventHandler(this, e);
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(temp);
+                return temp;
             }
-
         }
 
         /// <summary>
-        /// Event arguments that are passed via the PanGestureEvent signal.
+        /// Retrieves the screen velocity.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
+        public Vector2 ScreenVelocity
         {
-            private View _view;
-            private PanGesture _panGesture;
-
-            /// <summary>
-            /// The attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
-
-            /// <summary>
-            /// The PanGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public PanGesture PanGesture
+            get
             {
-                get
-                {
-                    return _panGesture;
-                }
-                set
-                {
-                    _panGesture = value;
-                }
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_VELOCITY).Get(temp);
+                return temp;
             }
         }
 
-        internal class Property : global::System.IDisposable
+        /// <summary>
+        /// Retrieves the local position.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalPosition
         {
-            public static readonly int SCREEN_POSITION = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_POSITION_get();
-
-            public static readonly int SCREEN_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_DISPLACEMENT_get();
-
-            public static readonly int SCREEN_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_SCREEN_VELOCITY_get();
-
-            public static readonly int LOCAL_POSITION = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_POSITION_get();
-
-            public static readonly int LOCAL_DISPLACEMENT = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_DISPLACEMENT_get();
-
-            public static readonly int LOCAL_VELOCITY = NDalicPINVOKE.PanGestureDetector_Property_LOCAL_VELOCITY_get();
-
-            public static readonly int PANNING = NDalicPINVOKE.PanGestureDetector_Property_PANNING_get();
-
-            protected bool swigCMemOwn;
-            //A Flat to check if it is already disposed.
-            protected bool disposed = false;
-
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            //A Flag to check who called Dispose(). (By User or DisposeQueue)
-            private bool isDisposeQueued = false;
-
-            public Property() : this(NDalicPINVOKE.new_PanGestureDetector_Property(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
-            {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
-
-            ~Property()
+            get
             {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_POSITION).Get(temp);
+                return temp;
             }
+        }
 
-
-            public void Dispose()
+        /// <summary>
+        /// Retrieves the local displacement
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalDisplacement
+        {
+            get
             {
-                //Throw excpetion if Dispose() is called in separate thread.
-                if (!Window.IsInstalled())
-                {
-                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-                }
-
-                if (isDisposeQueued)
-                {
-                    Dispose(DisposeTypes.Implicit);
-                }
-                else
-                {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
-                }
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(temp);
+                return temp;
             }
+        }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+        /// <summary>
+        /// Retrieves the local velocity.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public Vector2 LocalVelocity
+        {
+            get
             {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_VELOCITY).Get(temp);
+                return temp;
             }
+        }
 
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// Retrieves the panning flag.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public bool Panning
+        {
+            get
             {
-                if (disposed)
-                {
-                    return;
-                }
-
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
-
-                }
-
-                //Release your own unmanaged resources here.
-                //You should not access any managed member here except static instance.
-                //because the execution order of Finalizes is non-deterministic.
-
-                if (swigCPtr.Handle != global::System.IntPtr.Zero)
-                {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicPINVOKE.delete_PanGestureDetector_Property(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-
-                disposed = true;
+                bool temp = false;
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
+                return temp;
             }
-
-
         }
     }
 
index b72cc51..6dd06d7 100755 (executable)
@@ -30,56 +30,67 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Creates an initialized path handle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Path() : this(NDalicPINVOKE.Path_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
         internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         /// <summary>
-        /// Enumeration for the Points.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispoase type</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyArray Points
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if(disposed)
             {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.POINTS).Get(temp);
-                return temp;
+                return;
             }
-            set
+
+            if(type == DisposeTypes.Explicit)
             {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Path(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
+        }
+
+
+        internal class Property
+        {
+            internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
+            internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
         }
 
         /// <summary>
-        /// Enumeration for the ControlPoints.
+        /// Creates an initialized path handle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyArray ControlPoints
+        public Path() : this(NDalicPINVOKE.Path_New(), true)
         {
-            get
-            {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.CONTROL_POINTS).Get(temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
         /// <summary>
@@ -169,51 +180,40 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose
+        /// Enumeration for the Points.
         /// </summary>
-        /// <param name="type">The dispoase type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public PropertyArray Points
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.POINTS).Get(temp);
+                return temp;
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Path(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
             }
-
-            base.Dispose(type);
         }
 
-        internal class Property
+        /// <summary>
+        /// Enumeration for the ControlPoints.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyArray ControlPoints
         {
-            internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
-            internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
+            get
+            {
+                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.CONTROL_POINTS).Get(temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.CONTROL_POINTS, new Tizen.NUI.PropertyValue(value));
+            }
         }
 
     }
index f1a7f4f..f1b122a 100755 (executable)
@@ -33,6 +33,53 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PinchGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+
+        internal static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr)
+        {
+            PinchGesture ret = new PinchGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
         /// <summary>
         /// The scale factor from the start of the pinch gesture till the latest pinch gesture.<br />
@@ -159,53 +206,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static PinchGesture GetPinchGestureFromPtr(global::System.IntPtr cPtr)
-        {
-            PinchGesture ret = new PinchGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PinchGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index 2566212..133164f 100755 (executable)
@@ -30,110 +30,16 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private DaliEventHandler<object, DetectedEventArgs> _pinchGestureEventHandler;
-        private DetectedCallbackDelegate _pinchGestureCallbackDelegate;
-
-
-        /// <summary>
-        /// Creates an initialized PinchGestureDetector.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public PinchGestureDetector() : this(NDalicPINVOKE.PinchGestureDetector_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// The copy constructor.
-        /// </summary>
-        /// <param name="handle">A reference to the copied handle</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public PinchGestureDetector(PinchGestureDetector handle) : this(NDalicPINVOKE.new_PinchGestureDetector__SWIG_1(PinchGestureDetector.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal PinchGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PinchGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr pinchGesture);
-
-        /// <summary>
-        /// This signal is emitted when the specified pinch is detected on the attached view.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public event DaliEventHandler<object, DetectedEventArgs> Detected
-        {
-            add
-            {
-                lock (this)
-                {
-                    // Restricted to only one listener
-                    if (_pinchGestureEventHandler == null)
-                    {
-                        _pinchGestureEventHandler += value;
-
-                        _pinchGestureCallbackDelegate = new DetectedCallbackDelegate(OnPinchGestureDetected);
-                        this.DetectedSignal().Connect(_pinchGestureCallbackDelegate);
-                    }
-                }
-            }
-
-            remove
-            {
-                lock (this)
-                {
-                    if (_pinchGestureEventHandler != null)
-                    {
-                        this.DetectedSignal().Disconnect(_pinchGestureCallbackDelegate);
-                    }
-
-                    _pinchGestureEventHandler -= value;
-                }
-            }
-        }
-
-
-        internal static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal new static PinchGestureDetector DownCast(BaseHandle handle)
-        {
-            PinchGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PinchGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PinchGestureDetector obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal PinchGestureDetector Assign(PinchGestureDetector rhs)
-        {
-            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.PinchGestureDetector_Assign(swigCPtr, PinchGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal PinchGestureDetectedSignal DetectedSignal()
-        {
-            PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -173,22 +79,6 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        private void OnPinchGestureDetected(IntPtr actor, IntPtr pinchGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (DetectedEventArgs) with real data.
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.PinchGesture = Tizen.NUI.PinchGesture.GetPinchGestureFromPtr(pinchGesture);
-
-            if (_pinchGestureEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _pinchGestureEventHandler(this, e);
-            }
-
-        }
-
         /// <summary>
         /// Event arguments that passed via the PinchGestureEvent signal.
         /// </summary>
@@ -237,6 +127,114 @@ namespace Tizen.NUI
             }
         }
 
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr pinchGesture);
+        private DaliEventHandler<object, DetectedEventArgs> _pinchGestureEventHandler;
+        private DetectedCallbackDelegate _pinchGestureCallbackDelegate;
+
+        /// <summary>
+        /// This signal is emitted when the specified pinch is detected on the attached view.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event DaliEventHandler<object, DetectedEventArgs> Detected
+        {
+            add
+            {
+                lock (this)
+                {
+                    // Restricted to only one listener
+                    if (_pinchGestureEventHandler == null)
+                    {
+                        _pinchGestureEventHandler += value;
+
+                        _pinchGestureCallbackDelegate = new DetectedCallbackDelegate(OnPinchGestureDetected);
+                        this.DetectedSignal().Connect(_pinchGestureCallbackDelegate);
+                    }
+                }
+            }
+
+            remove
+            {
+                lock (this)
+                {
+                    if (_pinchGestureEventHandler != null)
+                    {
+                        this.DetectedSignal().Disconnect(_pinchGestureCallbackDelegate);
+                    }
+
+                    _pinchGestureEventHandler -= value;
+                }
+            }
+        }
+
+        private void OnPinchGestureDetected(IntPtr actor, IntPtr pinchGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (DetectedEventArgs) with real data.
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.PinchGesture = Tizen.NUI.PinchGesture.GetPinchGestureFromPtr(pinchGesture);
+
+            if (_pinchGestureEventHandler != null)
+            {
+                //Here we send all data to user event handlers.
+                _pinchGestureEventHandler(this, e);
+            }
+
+        }
+
+
+        internal static PinchGestureDetector GetPinchGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            PinchGestureDetector ret = new PinchGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Creates an initialized PinchGestureDetector.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public PinchGestureDetector() : this(NDalicPINVOKE.PinchGestureDetector_New(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        internal new static PinchGestureDetector DownCast(BaseHandle handle)
+        {
+            PinchGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PinchGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The copy constructor.
+        /// </summary>
+        /// <param name="handle">A reference to the copied handle</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public PinchGestureDetector(PinchGestureDetector handle) : this(NDalicPINVOKE.new_PinchGestureDetector__SWIG_1(PinchGestureDetector.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PinchGestureDetector Assign(PinchGestureDetector rhs)
+        {
+            PinchGestureDetector ret = new PinchGestureDetector(NDalicPINVOKE.PinchGestureDetector_Assign(swigCPtr, PinchGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal PinchGestureDetectedSignal DetectedSignal()
+        {
+            PinchGestureDetectedSignal ret = new PinchGestureDetectedSignal(NDalicPINVOKE.PinchGestureDetector_DetectedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
     }
 
 }
index 6392333..79d977a 100755 (executable)
@@ -38,6 +38,51 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal PixelBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelBuffer_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelBuffer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PixelBuffer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Create a PixelBuffer with its own data buffer.
         /// </summary>
@@ -57,9 +102,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PixelBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelBuffer_SWIGUpcast(cPtr), cMemoryOwn)
+        internal PixelBuffer Assign(PixelBuffer rhs)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            PixelBuffer ret = new PixelBuffer(NDalicPINVOKE.PixelBuffer_Assign(swigCPtr, PixelBuffer.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -95,6 +142,14 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal SWIGTYPE_p_unsigned_char GetBuffer()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.PixelBuffer_GetBuffer(swigCPtr);
+            SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Gets the width of the buffer in pixels.
         /// </summary>
@@ -247,61 +302,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelBuffer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal PixelBuffer Assign(PixelBuffer rhs)
-        {
-            PixelBuffer ret = new PixelBuffer(NDalicPINVOKE.PixelBuffer_Assign(swigCPtr, PixelBuffer.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_unsigned_char GetBuffer()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.PixelBuffer_GetBuffer(swigCPtr);
-            SWIGTYPE_p_unsigned_char ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_unsigned_char(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PixelBuffer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
index 386907e..b5c776e 100755 (executable)
@@ -36,6 +36,53 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal PixelData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelData_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelData obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User.
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //Because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PixelData(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Creates a PixelData object.
         /// </summary>
@@ -54,30 +101,6 @@ namespace Tizen.NUI
 
         }
 
-        internal PixelData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelData_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Enumeration for function to release the pixel buffer.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public enum ReleaseFunction
-        {
-            /// <summary>
-            /// Use free function to release the pixel buffer.
-            /// </summary>
-            Free,
-
-            /// <summary>
-            /// Use delete[] operator to release the pixel buffer.
-            /// </summary>
-            DeleteArray
-        }
-
         /// <summary>
         /// Gets the width of the buffer in pixels.
         /// </summary>
@@ -120,46 +143,23 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PixelData obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Enumeration for function to release the pixel buffer.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        /// This will be released at Tizen.NET API Level 5, so currently this would be used as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public enum ReleaseFunction
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //Because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PixelData(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            /// <summary>
+            /// Use free function to release the pixel buffer.
+            /// </summary>
+            Free,
 
-            base.Dispose(type);
+            /// <summary>
+            /// Use delete[] operator to release the pixel buffer.
+            /// </summary>
+            DeleteArray
         }
     }
 }
\ No newline at end of file
index 18ee84f..4a70047 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -29,58 +29,31 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(PositionTypeConverter))]
     public class Position : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="position2d">Position2D to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -96,319 +69,437 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginTop
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginBottom
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
+
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// An addition operator.
         /// </summary>
+        /// <param name="arg1">The vector to add.</param>
+        /// <param name="arg2">The vector to add.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginLeft
+        public static Position operator +(Position arg1, Position arg2)
         {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Add(arg2);
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// The subtraction operator.
         /// </summary>
+        /// <param name="arg1">The vector to subtract.</param>
+        /// <param name="arg2">The vector to subtract.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginRight
+        public static Position operator -(Position arg1, Position arg2)
         {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginRight_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Subtract(arg2);
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.5.
+        /// The unary negation operator.
         /// </summary>
+        /// <param name="arg1">The vector to negate.</param>
+        /// <returns>The vector containg the negation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginMiddle
+        public static Position operator -(Position arg1)
         {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Subtract();
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.0, 0.5.
+        /// The multiplication operator.
         /// </summary>
+        /// <param name="arg1">The vector to multiply.</param>
+        /// <param name="arg2">The vector to multiply.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopLeft
+        public static Position operator *(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Multiply(arg2);
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 0.0, 0.5.
+        /// The multiplication operator.
         /// </summary>
+        /// <param name="arg1">The vector to multiply</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopCenter
+        public static Position operator *(Position arg1, float arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Multiply(arg2);
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.0, 0.5.
+        /// The division operator.
         /// </summary>
+        /// <param name="arg1">The vector to divide.</param>
+        /// <param name="arg2">The vector to divide.</param>
+        /// <returns>The vector containing the result of the division.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopRight
+        public static Position operator /(Position arg1, Position arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Divide(arg2);
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5.
+        /// The division operator.
         /// </summary>
+        /// <param name="arg1">The vector to divide.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterLeft
+        public static Position operator /(Position arg1, float arg2)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return arg1.Divide(arg2);
         }
 
+
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5
+        /// The const array subscript operator overload. Should be 0, 1, or 2.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenter
+        public float this[uint index]
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return ValueOfIndex(index);
             }
         }
 
+        internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
+        {
+            Position ret = new Position(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.5, 0.5.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterRight
+        public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
+        /// The constructor.
         /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomLeft
+        public Position(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 1.0, 0.5.
+        /// The constructor.
         /// </summary>
+        /// <param name="position2d">Position2D to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomCenter
+        public Position(Position2D position2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Position2D.getCPtr(position2d)), true)
         {
-            get
-            {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+
+
+        private Position Add(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Subtract(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Multiply(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Multiply(float rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Divide(Position rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Divide(float rhs)
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Position Subtract()
+        {
+            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Position position = obj as Position;
+            bool equal = false;
+            if (X == position?.X && Y == position?.Y && Z == position?.Z)
+            {
+                equal = true;
             }
+            return equal;
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 1.0, 0.5.
+        /// Compares if rhs is equal to.
+        /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool EqualTo(Position rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Compares if rhs is not equal to.
         /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomRight
+        public bool NotEqualTo(Position rhs)
         {
+            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
+        {
+            set
+            {
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointTop
+        public float Y
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0.
+        /// The z component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointBottom
+        public float Z
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// ParentOrigin constants. It's 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointLeft
+        public static float ParentOriginTop
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0.
+        /// ParentOrigin constants. It's 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointRight
+        public static float ParentOriginBottom
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointRight_get();
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// ParentOrigin constants. It's 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointMiddle
+        public static float ParentOriginLeft
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0, 0.0, 0.5.
+        /// ParentOrigin constants. It's 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopLeft
+        public static float ParentOriginRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 0.0, 0.5.
+        /// ParentOrigin constants. It's 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopCenter
+        public static float ParentOriginMiddle
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0, 0.0, 0.5.
+        /// ParentOrigin constants: 0.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopRight
+        public static Position ParentOriginTopLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -416,14 +507,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0, 0.5, 0.5.
+        /// ParentOrigin constants: 0.5, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenterLeft
+        public static Position ParentOriginTopCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -431,14 +522,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 0.5, 0.5.
+        /// ParentOrigin constants: 1.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenter
+        public static Position ParentOriginTopRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -446,14 +537,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0, 0.5, 0.5.
+        /// ParentOrigin constants: 0.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenterRight
+        public static Position ParentOriginCenterLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -461,14 +552,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0, 1.0, 0.5.
+        /// ParentOrigin constants: 0.0, 0.5, 0.5
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomLeft
+        public static Position ParentOriginCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -476,14 +567,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 1.0, 0.5
+        /// ParentOrigin constants: 1.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomCenter
+        public static Position ParentOriginCenterRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -491,14 +582,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0, 1.0, 0.5.
+        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointBottomRight
+        public static Position ParentOriginBottomLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -506,14 +597,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constant ( 1.0f, 1.0f, 1.0f ).
+        /// ParentOrigin constants: 0.5, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position One
+        public static Position ParentOriginBottomCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -521,14 +612,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Constant ( 0.0f, 0.0f, 0.0f ).
+        /// ParentOrigin constants: 1.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position Zero
+        public static Position ParentOriginBottomRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -536,122 +627,129 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public static float PivotPointTop
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                float ret = NDalicPINVOKE.AnchorPointTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The y component.
+        /// PivotPoint constants: 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Y
+        public static float PivotPointBottom
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                float ret = NDalicPINVOKE.AnchorPointBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        public static float PivotPointLeft
         {
-            set
+            get
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                float ret = NDalicPINVOKE.AnchorPointLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return ret;
             }
         }
 
-        internal static Position XAxis
+        /// <summary>
+        /// PivotPoint constants: 1.0.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static float PivotPointRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                float ret = NDalicPINVOKE.AnchorPointRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        internal static Position YAxis
+        /// <summary>
+        /// PivotPoint constants: 0.0.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static float PivotPointMiddle
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        internal static Position ZAxis
+        /// <summary>
+        /// PivotPoint constants: 0.0, 0.0, 0.5.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position PivotPointTopLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        internal static Position NegativeXAxis
+        /// <summary>
+        /// PivotPoint constants: 0.5, 0.0, 0.5.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position PivotPointTopCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        internal static Position NegativeYAxis
+        /// <summary>
+        /// PivotPoint constants: 1.0, 0.0, 0.5.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position PivotPointTopRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        internal static Position NegativeZAxis
+        /// <summary>
+        /// PivotPoint constants: 0.0, 0.5, 0.5.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Position PivotPointCenterLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_get();
                 Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
@@ -659,297 +757,192 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1, or 2.
+        /// PivotPoint constants: 0.5, 0.5, 0.5.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public static Position PivotPointCenter
         {
             get
             {
-                return ValueOfIndex(index);
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-
         /// <summary>
-        /// An addition operator.
-        /// </summary>
-        /// <param name="arg1">The vector to add.</param>
-        /// <param name="arg2">The vector to add.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position operator +(Position arg1, Position arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
+        /// PivotPoint constants: 1.0, 0.5, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to subtract.</param>
-        /// <param name="arg2">The vector to subtract.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator -(Position arg1, Position arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The vector to negate.</param>
-        /// <returns>The vector containg the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position operator -(Position arg1)
+        public static Position PivotPointCenterRight
         {
-            return arg1.Subtract();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// PivotPoint constants: 0.0, 1.0, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to multiply.</param>
-        /// <param name="arg2">The vector to multiply.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator *(Position arg1, Position arg2)
+        public static Position PivotPointBottomLeft
         {
-            return arg1.Multiply(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// PivotPoint constants: 0.5, 1.0, 0.5
         /// </summary>
-        /// <param name="arg1">The vector to multiply</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator *(Position arg1, float arg2)
+        public static Position PivotPointBottomCenter
         {
-            return arg1.Multiply(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// PivotPoint constants: 1.0, 1.0, 0.5.
         /// </summary>
-        /// <param name="arg1">The vector to divide.</param>
-        /// <param name="arg2">The vector to divide.</param>
-        /// <returns>The vector containing the result of the division.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator /(Position arg1, Position arg2)
+        public static Position PivotPointBottomRight
         {
-            return arg1.Divide(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomRight_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// Constant ( 1.0f, 1.0f, 1.0f ).
         /// </summary>
-        /// <param name="arg1">The vector to divide.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Position operator /(Position arg1, float arg2)
+        public static Position One
         {
-            return arg1.Divide(arg2);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ONE_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Converts a position instance to a Vector3 instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector3(Position Position)
+        internal static Position XAxis
         {
-            return new Vector3(Position.X, Position.Y, Position.Z);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Converts a Vector3 instance to a position instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Position(Vector3 vec)
+        internal static Position YAxis
         {
-            return new Position(vec.X, vec.Y, vec.Z);
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
+        internal static Position ZAxis
         {
-            Position position = obj as Position;
-            bool equal = false;
-            if (X == position?.X && Y == position?.Y && Z == position?.Z)
+            get
             {
-                equal = true;
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            return equal;
         }
 
-        /// <summary>
-        /// Gets the the hash code of this Position.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
+        internal static Position NegativeXAxis
         {
-            return base.GetHashCode();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_XAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        internal static Position NegativeYAxis
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            get
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_YAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+        internal static Position NegativeZAxis
+        {
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_NEGATIVE_ZAXIS_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Compares if rhs is equal to.
+        /// Constant ( 0.0f, 0.0f, 0.0f ).
         /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Position rhs)
+        public static Position Zero
         {
-            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// Compares if rhs is not equal to.
+        /// Converts a position instance to a Vector3 instance.
         /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Position rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Position.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Position GetPositionFromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector3(Position Position)
         {
-            Position ret = new Position(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector3(Position.X, Position.Y, Position.Z);
         }
 
         /// <summary>
-        /// Dispose.
+        /// Converts a Vector3 instance to a position instance.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-
-        private Position Add(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Add(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Subtract(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Multiply(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Multiply(float rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Divide(Position rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Position.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Divide(float rhs)
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Position Subtract()
-        {
-            Position ret = new Position(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
+        public static implicit operator Position(Vector3 vec)
         {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Position(vec.X, vec.Y, vec.Z);
         }
 
     }
index f208c91..f31cfbd 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -15,7 +15,6 @@
  *
  */
 using System;
-using System.Globalization;
 using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
@@ -28,52 +27,31 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(Position2DTypeConverter))]
     public class Position2D : global::System.IDisposable
     {
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        private Position2DChangedCallback callback = null;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        static public Position2D ConvertFromString(System.String value)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (value != null)
+            {
+                string[] parts = value.Split(',');
+                if (parts.Length == 2)
+                {
+                    return new Position2D(int.Parse(parts[0].Trim()), int.Parse(parts[1].Trim()));
+                }
+            }
+
+            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="position">Position to create this vector from</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
+        public static implicit operator Position2D(System.String value)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ConvertFromString(value);
         }
 
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
-        /// The constructor.
+        /// swigCMemOwn
         /// </summary>
-        /// <param name="x">x component</param>
-        /// <param name="y">y component</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool swigCMemOwn;
 
         internal Position2D(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -81,12 +59,19 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal Position2D(Position2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj)
         {
-            callback = cb;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -100,112 +85,62 @@ namespace Tizen.NUI
             }
         }
 
-        internal delegate void Position2DChangedCallback(int x, int y);
-
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int X
+        public void Dispose()
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                callback?.Invoke(X, Y);
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Y
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-                callback?.Invoke(X, Y);
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, or 1.
+        /// Dispose.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return ValueOfIndex(index);
+                return;
             }
-        }
 
-        /// <summary>
-        /// Convert a string to Position2D.
-        /// </summary>
-        /// <param name="value">The string to convert.</param>
-        /// <returns>The converted value.</returns>
-        static public Position2D ConvertFromString(System.String value)
-        {
-            if (value != null)
+            if (type == DisposeTypes.Explicit)
             {
-                string[] parts = value.Split(',');
-                if (parts.Length == 2)
-                {
-                    return new Position2D(int.Parse(parts[0].Trim(), CultureInfo.InvariantCulture), int.Parse(parts[1].Trim(), CultureInfo.InvariantCulture));
-                }
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
 
-            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
-        }
-
-        /// <summary>
-        /// Constructor a Position2D from a stirng.
-        /// </summary>
-        public static implicit operator Position2D(System.String value)
-        {
-            return ConvertFromString(value);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
         /// <summary>
@@ -292,124 +227,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Determines whether the specified object is equal to the current object.
+        /// The const array subscript operator overload. Should be 0, or 1.
         /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
         {
-            Position2D position2D = obj as Position2D;
-            bool equal = false;
-            if (X == position2D?.X && Y == position2D?.Y)
+            get
             {
-                equal = true;
+                return ValueOfIndex(index);
             }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Position2D.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
         }
 
-        /// <summary>
-        /// Compares if the rhs is equal to.
-        /// </summary>
-        /// <param name="rhs">The vector to compare</param>
-        /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Position2D rhs)
+        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
         {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
+            Position2D ret = new Position2D(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Compares if the rhs is not equal to.
+        /// The constructor.
         /// </summary>
-        /// <param name="rhs">The vector to compare.</param>
-        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Position2D rhs)
+        public Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
         {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Converts a Position2D instance to a Vector2 instance.
-        /// </summary>
-        /// <param name="position2d">An object of the Position2D type.</param>
-        /// <returns>return an object of the Vector2 type</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(Position2D position2d)
-        {
-            return new Vector2((float)position2d.X, (float)position2d.Y);
         }
 
         /// <summary>
-        /// Converts a Vector2 instance to a Position2D instance.
+        /// The constructor.
         /// </summary>
-        /// <param name="vec">An object of the Vector2 type.</param>
-        /// <returns>return an object of the Position2D type</returns>
+        /// <param name="x">x component</param>
+        /// <param name="y">y component</param>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Position2D(Vector2 vec)
-        {
-            return new Position2D((int)vec.X, (int)vec.Y);
-        }
-
-        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
+        public Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
         {
-            Position2D ret = new Position2D(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj)
+        internal delegate void Position2DChangedCallback(int x, int y);
+        private Position2DChangedCallback callback = null;
+        internal Position2D(Position2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            callback = cb;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
+        /// <param name="position">Position to create this vector from</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         private Position2D Add(Position2D rhs)
@@ -463,6 +336,48 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Position2D position2D = obj as Position2D;
+            bool equal = false;
+            if (X == position2D?.X && Y == position2D?.Y)
+            {
+                equal = true;
+            }
+            return equal;
+        }
+
+        /// <summary>
+        /// Compares if the rhs is equal to.
+        /// </summary>
+        /// <param name="rhs">The vector to compare</param>
+        /// <returns>Returns true if the two vectors are equal, otherwise false</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool EqualTo(Position2D rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Compares if the rhs is not equal to.
+        /// </summary>
+        /// <param name="rhs">The vector to compare.</param>
+        /// <returns>Returns true if the two vectors are not equal, otherwise false.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool NotEqualTo(Position2D rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         private int ValueOfIndex(uint index)
         {
             int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
@@ -470,6 +385,70 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int X
+        {
+            set
+            {
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(X, Y);
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
+            }
+        }
+
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Y
+        {
+            set
+            {
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(X, Y);
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
+            }
+        }
+
+        /// <summary>
+        /// Converts a Position2D instance to a Vector2 instance.
+        /// </summary>
+        /// <param name="position2d">An object of the Position2D type.</param>
+        /// <returns>return an object of the Vector2 type</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector2(Position2D position2d)
+        {
+            return new Vector2((float)position2d.X, (float)position2d.Y);
+        }
+
+        /// <summary>
+        /// Converts a Vector2 instance to a Position2D instance.
+        /// </summary>
+        /// <param name="vec">An object of the Vector2 type.</param>
+        /// <returns>return an object of the Position2D type</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Position2D(Vector2 vec)
+        {
+            return new Position2D((int)vec.X, (int)vec.Y);
+        }
+
     }
 
 }
index 11399fc..dd9c2de 100755 (executable)
@@ -25,21 +25,120 @@ namespace Tizen.NUI
 
     internal class Property : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
+
+        internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// <since_tizen> 3 </since_tizen>
         /// A Flat to check if it is already disposed.
         /// </summary>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        ~Property()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Property(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+
+        internal static int INVALID_INDEX
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal static int INVALID_KEY
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        internal static int INVALID_COMPONENT_INDEX
+        {
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
 
         /// <summary>
         /// This constructor creates a property instance.
@@ -89,18 +188,18 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        ~Property()
+        internal Animatable _object
         {
-            if(!isDisposeQueued)
+            set
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                NDalicPINVOKE.Property__object_set(swigCPtr, Animatable.getCPtr(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                Animatable ret = new Animatable(NDalicPINVOKE.Property__object_get(swigCPtr), false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
@@ -142,51 +241,57 @@ namespace Tizen.NUI
             }
         }
 
-        internal static int INVALID_INDEX
-        {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
+    }
 
-        internal static int INVALID_KEY
+    /// <summary>
+    /// An array of property values.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyArray : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        /// <summary>
+        /// swigCMemOwn
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
+
+        internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static int INVALID_COMPONENT_INDEX
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
         {
-            get
-            {
-                int ret = NDalicPINVOKE.Property_INVALID_COMPONENT_INDEX_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal Animatable _object
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PropertyArray()
         {
-            set
-            {
-                NDalicPINVOKE.Property__object_set(swigCPtr, Animatable.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if(!isDisposeQueued)
             {
-                Animatable ret = new Animatable(NDalicPINVOKE.Property__object_get(swigCPtr), false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
         }
 
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         public void Dispose()
         {
             //Throw excpetion if Dispose() is called in separate thread.
@@ -206,11 +311,10 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Property obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
         protected virtual void Dispose(DisposeTypes type)
         {
             if (disposed)
@@ -234,37 +338,26 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property(swigCPtr);
+                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
                 }
                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
             disposed = true;
         }
 
-
-    }
-
-    /// <summary>
-    /// An array of property values.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyArray : global::System.IDisposable
-    {
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The operator to access an element.
         /// </summary>
+        /// <param name="index">The element index to access. No bounds checking is performed.</param>
+        /// <returns>The reference to the element.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        public PropertyValue this[uint index]
+        {
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
 
         /// <summary>
         /// The constructor.
@@ -280,57 +373,24 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// Retrieves the number of elements in the array.
+        /// </summary>
+        /// <returns>The number of elements in the array.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint Size()
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Dispose.
+        /// Retrieves the number of elements in the array.
         /// </summary>
+        /// <returns>The number of elements in the array.</returns>
         /// <since_tizen> 3 </since_tizen>
-        ~PropertyArray()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// The operator to access an element.
-        /// </summary>
-        /// <param name="index">The element index to access. No bounds checking is performed.</param>
-        /// <returns>The reference to the element.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// Retrieves the number of elements in the array.
-        /// </summary>
-        /// <returns>The number of elements in the array.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Size()
-        {
-            uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Retrieves the number of elements in the array.
-        /// </summary>
-        /// <returns>The number of elements in the array.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Count()
+        public uint Count()
         {
             uint ret = NDalicPINVOKE.Property_Array_Count(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -442,6 +502,64 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Retrieves the value of elements in the array.
+        /// </summary>
+        /// <param name="index">The element index to retrieve.</param>
+        /// <returns>The reference to the element.</returns>
+        private PropertyValue ValueOfIndex(uint index)
+        {
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+    }
+
+    /// <summary>
+    /// A key type which can be either a std::string or a Property::Index.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyKey : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        /// <summary>
+        /// swigCMemOwn
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
+
+        internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PropertyKey()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -464,11 +582,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -480,7 +593,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if (type == DisposeTypes.Explicit)
+            if(type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -496,7 +609,7 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
+                    NDalicPINVOKE.delete_Property_Key(swigCPtr);
                 }
                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
@@ -504,98 +617,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the value of elements in the array.
-        /// </summary>
-        /// <param name="index">The element index to retrieve.</param>
-        /// <returns>The reference to the element.</returns>
-        private PropertyValue ValueOfIndex(uint index)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Array_ValueOfIndex__SWIG_0(swigCPtr, index), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-    }
-
-    /// <summary>
-    /// A key type which can be either a std::string or a Property::Index.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyKey : global::System.IDisposable
-    {
-        /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="key">The string key.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyKey(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="key">The index key.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyKey(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PropertyKey(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PropertyKey()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <summary>
-        /// The type of key.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum KeyType
-        {
-            /// <summary>
-            /// The type of key is index.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Index,
-            /// <summary>
-            /// The type of key is string.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            String
-        }
-
-        /// <summary>
         /// The type of the key.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -653,26 +674,23 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="key">The string key.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public PropertyKey(string key) : this(NDalicPINVOKE.new_Property_Key__SWIG_0(key), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="key">The index key.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyKey(int key) : this(NDalicPINVOKE.new_Property_Key__SWIG_1(key), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -753,93 +771,57 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
+        /// <summary>
+        /// The type of key.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum KeyType
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            /// <summary>
+            /// The type of key is index.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Index,
+            /// <summary>
+            /// The type of key is string.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            String
         }
 
+    }
+
+    /// <summary>
+    /// A map of property values, the key type could be string or Property::Index.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyMap : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Key(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-    }
-
-    /// <summary>
-    /// A map of property values, the key type could be string or Property::Index.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyMap : global::System.IDisposable
-    {
-        /// <summary>
-        /// swigCMemOwn
+        /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The copy constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="other">The map to copy from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -855,21 +837,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The operator to access the element with the specified string key.<br />
-        /// If an element with the key does not exist, then it is created.<br />
-        /// </summary>
-        /// <param name="key">The key whose value to access.</param>
-        /// <returns>A value for the element with the specified key.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue this[string key]
-        {
-            get
-            {
-                return ValueOfIndex(key);
-            }
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -893,214 +860,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Retrieves the number of elements in the map.
-        /// </summary>
-        /// <returns>The number of elements in the map.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint Count()
-        {
-            uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns whether the map is empty.
-        /// </summary>
-        /// <returns>Returns true if empty, false otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Empty()
-        {
-            bool ret = NDalicPINVOKE.Property_Map_Empty(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Inserts the key-value pair in the map, with the key type as string.<br />
-        /// Does not check for duplicates.<br />
-        /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Insert(string key, PropertyValue value)
-        {
-            NDalicPINVOKE.Property_Map_Insert__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Inserts the key-value pair in the map, with the key type as index.<br />
-        /// Does not check for duplicates.<br />
-        /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Insert(int key, PropertyValue value)
-        {
-            NDalicPINVOKE.Property_Map_Insert__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Inserts the key-value pair in the map, with the key type as string.<br />
-        /// Does not check for duplicates.<br />
-        /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
-        /// <returns>Returns a reference to this object.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Add(string key, PropertyValue value)
-        {
-            PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Inserts the key-value pair in the map, with the key type as string.<br />
-        /// Does not check for duplicates.<br />
-        /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
-        /// <returns>Returns a reference to this object.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Add(int key, PropertyValue value)
-        {
-            PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Inserts the keyvalue to the map.<br />
-        /// Does not check for duplicates.<br />
-        /// </summary>
-        /// <param name="keyValue">The keyvalue to insert.</param>
-        /// <returns>Returns a reference to this object.</returns>
-        public PropertyMap Add(KeyValue keyValue)
-        {
-            PropertyMap ret = new PropertyMap();
-            if ( keyValue.KeyInt != null )
-            {
-                ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, (int)keyValue.KeyInt, PropertyValue.getCPtr(keyValue.TrueValue)), false);
-            }
-            else if ( keyValue.KeyString != null)
-            {
-                ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, keyValue.KeyString, PropertyValue.getCPtr(keyValue.TrueValue)), false);
-            }
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            return ret;
-        }
-
-        /// <summary>
-        /// Retrieves the value at the specified position.
-        /// </summary>
-        /// <param name="position">The specified position.</param>
-        /// <returns>A reference to the value at the specified position.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue GetValue(uint position)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_GetValue(swigCPtr, position), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Retrieves the key at the specified position.
-        /// </summary>
-        /// <param name="position">The specified position.</param>
-        /// <returns>A copy of the key at the specified position.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyKey GetKeyAt(uint position)
-        {
-            PropertyKey ret = new PropertyKey(NDalicPINVOKE.Property_Map_GetKeyAt(swigCPtr, position), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Finds the value for the specified key if it exists.
-        /// </summary>
-        /// <param name="key">The key to find.</param>
-        /// <returns>The value if it exists, an empty object otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue Find(int key)
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_2(swigCPtr, key);
-            PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Finds the value for the specified keys if either exist.
-        /// </summary>
-        /// <param name="indexKey">The index key to find.</param>
-        /// <param name="stringKey">The string key to find.</param>
-        /// <returns>The value if it exists, an empty object otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue Find(int indexKey, string stringKey)
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
-            PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Clears the map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clear()
-        {
-            NDalicPINVOKE.Property_Map_Clear(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Merges values from the map 'from' to the current.<br />
-        /// Any values in 'from' will overwrite the values in the current map.<br />
-        /// </summary>
-        /// <param name="from">The map to merge from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Merge(PropertyMap from)
-        {
-            NDalicPINVOKE.Property_Map_Merge(swigCPtr, PropertyMap.getCPtr(from));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Retrieves the element with the specified string key.
-        /// </summary>
-        /// <param name="key">The key whose value to retrieve.</param>
-        /// <returns>The value for the element with the specified key.</returns>
-        internal PropertyValue ValueOfIndex(string key)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Retrieves the element with the specified index key.
-        /// </summary>
-        /// <param name="key">The key whose value to retrieve.</param>
-        /// <returns>The value for the element with the specified key.</returns>
-        internal PropertyValue ValueOfIndex(int key)
-        {
-            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyMap obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -1111,7 +870,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if (type == DisposeTypes.Explicit)
+            if(type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -1133,227 +892,272 @@ namespace Tizen.NUI
             }
             disposed = true;
         }
-    }
 
-    /// <summary>
-    /// A value-type representing a property value.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public class PropertyValue : global::System.IDisposable
-    {
         /// <summary>
-        /// swigCMemOwn
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// Creates a Size2D property value.
+        /// The operator to access the element with the specified string key.<br />
+        /// If an element with the key does not exist, then it is created.<br />
         /// </summary>
-        /// <param name="vectorValue">Size2D values.</param>
+        /// <param name="key">The key whose value to access.</param>
+        /// <returns>A value for the element with the specified key.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
+        public PropertyValue this[string key]
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return ValueOfIndex(key);
+            }
         }
 
         /// <summary>
-        /// Creates a Position2D property value.
+        /// The operator to access the element with the specified index key.<br />
+        /// If an element with the key does not exist, then it is created.<br />
         /// </summary>
-        /// <param name="vectorValue">Position2D values.</param>
+        /// <param name="key">The key whose value to access.</param>
+        /// <returns>A value for the element with the specified key.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Position2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true)
+        public PropertyValue this[int key]
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return ValueOfIndex(key);
+            }
         }
 
         /// <summary>
-        /// Creates a Position property value.
+        /// The constructor.
         /// </summary>
-        /// <param name="vectorValue">Position values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Position vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true)
+        public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Color property value.
+        /// The copy constructor.
         /// </summary>
-        /// <param name="vectorValue">Color values.</param>
+        /// <param name="other">The map to copy from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Color vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true)
+        public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
+
         /// <summary>
-        /// The default constructor.
+        /// Retrieves the number of elements in the map.
         /// </summary>
+        /// <returns>The number of elements in the map.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
+        public uint Count()
         {
+            uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a boolean property value.
+        /// Returns whether the map is empty.
         /// </summary>
-        /// <param name="boolValue">A boolean value.</param>
+        /// <returns>Returns true if empty, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
+        public bool Empty()
         {
+            bool ret = NDalicPINVOKE.Property_Map_Empty(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates an integer property value.
+        /// Inserts the key-value pair in the map, with the key type as string.<br />
+        /// Does not check for duplicates.<br />
         /// </summary>
-        /// <param name="integerValue">An integer value.</param>
+        /// <param name="key">The key to insert.</param>
+        /// <param name="value">The value to insert.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
+        public void Insert(string key, PropertyValue value)
         {
+            NDalicPINVOKE.Property_Map_Insert__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a float property value.
+        /// Inserts the key-value pair in the map, with the key type as index.<br />
+        /// Does not check for duplicates.<br />
         /// </summary>
-        /// <param name="floatValue">A floating-point value.</param>
+        /// <param name="key">The key to insert.</param>
+        /// <param name="value">The value to insert.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
+        public void Insert(int key, PropertyValue value)
         {
+            NDalicPINVOKE.Property_Map_Insert__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Vector2 property value.
+        /// Inserts the key-value pair in the map, with the key type as string.<br />
+        /// Does not check for duplicates.<br />
         /// </summary>
-        /// <param name="vectorValue">A vector of 2 floating-point values.</param>
+        /// <param name="key">The key to insert.</param>
+        /// <param name="value">The value to insert.</param>
+        /// <returns>Returns a reference to this object.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
+        public PropertyMap Add(string key, PropertyValue value)
         {
+            PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, key, PropertyValue.getCPtr(value)), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Vector3 property value.
+        /// Inserts the key-value pair in the map, with the key type as string.<br />
+        /// Does not check for duplicates.<br />
         /// </summary>
-        /// <param name="vectorValue">A vector of 3 floating-point values.</param>
+        /// <param name="key">The key to insert.</param>
+        /// <param name="value">The value to insert.</param>
+        /// <returns>Returns a reference to this object.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
+        public PropertyMap Add(int key, PropertyValue value)
         {
+            PropertyMap ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, key, PropertyValue.getCPtr(value)), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Vector4 property value.
+        /// Inserts the keyvalue to the map.<br />
+        /// Does not check for duplicates.<br />
         /// </summary>
-        /// <param name="vectorValue">A vector of 4 floating-point values.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
+        /// <param name="keyValue">The keyvalue to insert.</param>
+        /// <returns>Returns a reference to this object.</returns>
+        public PropertyMap Add(KeyValue keyValue)
         {
+            PropertyMap ret = new PropertyMap();
+            if ( keyValue.KeyInt != null )
+            {
+                ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_2(swigCPtr, (int)keyValue.KeyInt, PropertyValue.getCPtr(keyValue.TrueValue)), false);
+            }
+            else if ( keyValue.KeyString != null)
+            {
+                ret = new PropertyMap(NDalicPINVOKE.Property_Map_Add__SWIG_0(swigCPtr, keyValue.KeyString, PropertyValue.getCPtr(keyValue.TrueValue)), false);
+            }
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Rectangle property value.
+        /// Retrieves the value at the specified position.
         /// </summary>
-        /// <param name="vectorValue">Rectangle values.</param>
+        /// <param name="position">The specified position.</param>
+        /// <returns>A reference to the value at the specified position.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
+        public PropertyValue GetValue(uint position)
         {
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_GetValue(swigCPtr, position), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Rotation property value.
+        /// Retrieves the key at the specified position.
         /// </summary>
-        /// <param name="quaternion">Rotation values.</param>
+        /// <param name="position">The specified position.</param>
+        /// <returns>A copy of the key at the specified position.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
+        public PropertyKey GetKeyAt(uint position)
         {
+            PropertyKey ret = new PropertyKey(NDalicPINVOKE.Property_Map_GetKeyAt(swigCPtr, position), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a string property value.
+        /// Finds the value for the specified key if it exists.
         /// </summary>
-        /// <param name="stringValue">A string.</param>
+        /// <param name="key">The key to find.</param>
+        /// <returns>The value if it exists, an empty object otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
+        public PropertyValue Find(int key)
         {
+            global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_2(swigCPtr, key);
+            PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates an array property value.
+        /// Finds the value for the specified keys if either exist.
         /// </summary>
-        /// <param name="arrayValue">An array.</param>
+        /// <param name="indexKey">The index key to find.</param>
+        /// <param name="stringKey">The string key to find.</param>
+        /// <returns>The value if it exists, an empty object otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
+        public PropertyValue Find(int indexKey, string stringKey)
         {
+            global::System.IntPtr cPtr = NDalicPINVOKE.Property_Map_Find__SWIG_3(swigCPtr, indexKey, stringKey);
+            PropertyValue ret = (cPtr == global::System.IntPtr.Zero) ? null : new PropertyValue(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a map property value.
+        /// Clears the map.
         /// </summary>
-        /// <param name="mapValue">An array.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
+        public void Clear()
         {
+            NDalicPINVOKE.Property_Map_Clear(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a Extents value.
+        /// Merges values from the map 'from' to the current.<br />
+        /// Any values in 'from' will overwrite the values in the current map.<br />
         /// </summary>
-        /// <param name="extentsValue">A Extents value.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyValue(Extents extentsValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_16(Extents.getCPtr(extentsValue)), true)
+        /// <param name="from">The map to merge from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Merge(PropertyMap from)
         {
+            NDalicPINVOKE.Property_Map_Merge(swigCPtr, PropertyMap.getCPtr(from));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Creates a PropertyType value.
+        /// Retrieves the element with the specified string key.
         /// </summary>
-        /// <param name="type">A PropertyType value.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyType type) : this(NDalicPINVOKE.new_Property_Value__SWIG_17((int)type), true)
+        /// <param name="key">The key whose value to retrieve.</param>
+        /// <returns>The value for the element with the specified key.</returns>
+        internal PropertyValue ValueOfIndex(string key)
         {
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_0(swigCPtr, key), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a PropertyValue value.
+        /// Retrieves the element with the specified index key.
         /// </summary>
-        /// <param name="value">A PropertyValue value.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(PropertyValue value) : this(NDalicPINVOKE.new_Property_Value__SWIG_18(PropertyValue.getCPtr(value)), true)
+        /// <param name="key">The key whose value to retrieve.</param>
+        /// <returns>The value for the element with the specified key.</returns>
+        internal PropertyValue ValueOfIndex(int key)
         {
+            PropertyValue ret = new PropertyValue(NDalicPINVOKE.Property_Map_ValueOfIndex__SWIG_2(swigCPtr, key), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
+    }
 
-
+    /// <summary>
+    /// A value-type representing a property value.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public class PropertyValue : global::System.IDisposable
+    {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
-        /// Creates a Size property value.
+        /// swigCMemOwn
         /// </summary>
-        /// <param name="vectorValue">Size values.</param>
-        internal PropertyValue(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        /// <since_tizen> 3 </since_tizen>
+        protected bool swigCMemOwn;
 
         internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -1361,32 +1165,87 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal PropertyValue(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal PropertyValue(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true)
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~PropertyValue()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
-        internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~PropertyValue()
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if(!isDisposeQueued)
+            if (disposed)
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Property_Value(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
 
@@ -1487,26 +1346,52 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Creates a Size2D property value.
         /// </summary>
+        /// <param name="vectorValue">Size2D values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public PropertyValue(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// Creates a Position2D property value.
+        /// </summary>
+        /// <param name="vectorValue">Position2D values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Position2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Size property value.
+        /// </summary>
+        /// <param name="vectorValue">Size values.</param>
+        internal PropertyValue(Size vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Size.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Position property value.
+        /// </summary>
+        /// <param name="vectorValue">Position values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Position vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Color property value.
+        /// </summary>
+        /// <param name="vectorValue">Color values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Color vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
 
@@ -1574,6 +1459,170 @@ namespace Tizen.NUI
 
 
         /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a boolean property value.
+        /// </summary>
+        /// <param name="boolValue">A boolean value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an integer property value.
+        /// </summary>
+        /// <param name="integerValue">An integer value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a float property value.
+        /// </summary>
+        /// <param name="floatValue">A floating-point value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Vector2 property value.
+        /// </summary>
+        /// <param name="vectorValue">A vector of 2 floating-point values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Vector3 property value.
+        /// </summary>
+        /// <param name="vectorValue">A vector of 3 floating-point values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Vector4 property value.
+        /// </summary>
+        /// <param name="vectorValue">A vector of 4 floating-point values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Vector4 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Vector4.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PropertyValue(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PropertyValue(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Rectangle property value.
+        /// </summary>
+        /// <param name="vectorValue">Rectangle values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Rotation property value.
+        /// </summary>
+        /// <param name="quaternion">Rotation values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a string property value.
+        /// </summary>
+        /// <param name="stringValue">A string.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an array property value.
+        /// </summary>
+        /// <param name="arrayValue">An array.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a map property value.
+        /// </summary>
+        /// <param name="mapValue">An array.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a Extents value.
+        /// </summary>
+        /// <param name="extentsValue">A Extents value.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyValue(Extents extentsValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_16(Extents.getCPtr(extentsValue)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a PropertyType value.
+        /// </summary>
+        /// <param name="type">A PropertyType value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(PropertyType type) : this(NDalicPINVOKE.new_Property_Value__SWIG_17((int)type), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates a PropertyValue value.
+        /// </summary>
+        /// <param name="value">A PropertyValue value.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(PropertyValue value) : this(NDalicPINVOKE.new_Property_Value__SWIG_18(PropertyValue.getCPtr(value)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
         /// Queries the type of this property value.
         /// </summary>
         /// <returns>The type ID</returns>
@@ -1721,6 +1770,27 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal bool Get(Matrix3 matrixValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal bool Get(Matrix matrixValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal bool Get(AngleAxis angleAxisValue)
+        {
+            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Retrieves a rotation value.
         /// </summary>
@@ -1785,66 +1855,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
-
-        internal bool Get(Matrix3 matrixValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_8(swigCPtr, Matrix3.getCPtr(matrixValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal bool Get(Matrix matrixValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_9(swigCPtr, Matrix.getCPtr(matrixValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal bool Get(AngleAxis angleAxisValue)
-        {
-            bool ret = NDalicPINVOKE.Property_Value_Get__SWIG_10(swigCPtr, AngleAxis.getCPtr(angleAxisValue));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Value(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
     }
 
     /// <summary>
@@ -1852,6 +1862,10 @@ namespace Tizen.NUI
     /// </summary>
     public class KeyValue
     {
+        private string _key = null;
+        private object _originalValue = null;
+        private object _originalKey = null;
+
         /// <summary>
         /// Int key.
         /// </summary>
@@ -1867,10 +1881,6 @@ namespace Tizen.NUI
         /// </summary>
         public PropertyValue TrueValue = null;
 
-        private string _key = null;
-        private object _originalValue = null;
-        private object _originalKey = null;
-
         /// <summary>
         /// Default Constructor.
         /// </summary>
index 93a1d77..526fded 100755 (executable)
@@ -26,49 +26,11 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Creates a PropertyBuffer.
-        /// </summary>
-        /// <param name="bufferFormat">The map of names and types that describes the components of the buffer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyBuffer(PropertyMap bufferFormat) : this(NDalicPINVOKE.PropertyBuffer_New(PropertyMap.getCPtr(bufferFormat)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
         internal PropertyBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyBuffer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Updates the whole buffer information.<br />
-        /// This function expects a pointer to an array of structures with the same
-        /// format that was given in the construction, and the number of elements to
-        /// be the same as the size of the buffer.<br />
-        /// </summary>
-        /// <param name="data">A pointer to the data that will be copied to the buffer.</param>
-        /// <param name="size">Number of elements to expand or contract the buffer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetData(System.IntPtr data, uint size)
-        {
-            NDalicPINVOKE.PropertyBuffer_SetData(swigCPtr, data, size);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the number of elements in the buffer.
-        /// </summary>
-        /// <returns>Number of elements to expand or contract the buffer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetSize()
-        {
-            uint ret = NDalicPINVOKE.PropertyBuffer_GetSize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyBuffer obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -110,6 +72,43 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
+        /// <summary>
+        /// Creates a PropertyBuffer.
+        /// </summary>
+        /// <param name="bufferFormat">The map of names and types that describes the components of the buffer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyBuffer(PropertyMap bufferFormat) : this(NDalicPINVOKE.PropertyBuffer_New(PropertyMap.getCPtr(bufferFormat)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+        /// <summary>
+        /// Updates the whole buffer information.<br />
+        /// This function expects a pointer to an array of structures with the same
+        /// format that was given in the construction, and the number of elements to
+        /// be the same as the size of the buffer.<br />
+        /// </summary>
+        /// <param name="data">A pointer to the data that will be copied to the buffer.</param>
+        /// <param name="size">Number of elements to expand or contract the buffer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetData(System.IntPtr data, uint size)
+        {
+            NDalicPINVOKE.PropertyBuffer_SetData(swigCPtr, data, size);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the number of elements in the buffer.
+        /// </summary>
+        /// <returns>Number of elements to expand or contract the buffer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetSize()
+        {
+            uint ret = NDalicPINVOKE.PropertyBuffer_GetSize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
     }
 
 }
\ No newline at end of file
index bd225cc..6c94216 100755 (executable)
@@ -25,18 +25,59 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyCondition obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Create a property condition instance.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public PropertyCondition() : this(NDalicPINVOKE.new_PropertyCondition__SWIG_0(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyCondition(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Create a property condition instance.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyCondition() : this(NDalicPINVOKE.new_PropertyCondition__SWIG_0(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -144,47 +185,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyCondition obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyCondition(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index a8f2386..86209bf 100755 (executable)
@@ -30,34 +30,81 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        private DaliEventHandler<object, NotifyEventArgs> _propertyNotificationNotifyEventHandler;
-        private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
+        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        /// <summary>
-        /// Create a instance of PropertyNotification.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotification obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Create a instance of PropertyNotification.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyNotification(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
+        ///<summary>
+        /// Event arguments that passed via Notify signal
+        ///</summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class NotifyEventArgs : EventArgs
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            private PropertyNotification _propertyNotification;
+
+            ///<summary>
+            /// PropertyNotification - is the PropertyNotification handle that has the notification properties.
+            ///</summary>
+            /// <since_tizen> 3 </since_tizen>
+            public PropertyNotification PropertyNotification
+            {
+                get
+                {
+                    return _propertyNotification;
+                }
+                set
+                {
+                    _propertyNotification = value;
+                }
+            }
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void NotifyEventCallbackDelegate(IntPtr propertyNotification);
+        private DaliEventHandler<object, NotifyEventArgs> _propertyNotificationNotifyEventHandler;
+        private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
 
         ///<summary>
         /// Event for Notified signal which can be used to subscribe/unsubscribe the event handler
@@ -95,32 +142,17 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Enumeration for description of how to check condition.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum NotifyMode
+        // Callback for PropertyNotification NotifySignal
+        private void OnPropertyNotificationNotify(IntPtr propertyNotification)
         {
-            /// <summary>
-            /// Don't notify, regardless of result of Condition
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Disabled,
-            /// <summary>
-            /// Notify whenever condition changes from false to true.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            NotifyOnTrue,
-            /// <summary>
-            /// Notify whenever condition changes from true to false.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            NotifyOnFalse,
-            /// <summary>
-            /// Notify whenever condition changes (false to true, and true to false)
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            NotifyOnChanged
+            NotifyEventArgs e = new NotifyEventArgs();
+            e.PropertyNotification = GetPropertyNotificationFromPtr(propertyNotification);
+
+            if (_propertyNotificationNotifyEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _propertyNotificationNotifyEventHandler(this, e);
+            }
         }
 
         /// <summary>
@@ -138,6 +170,15 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Create a instance of PropertyNotification.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
         /// Downcast a PropertyNotification instance.
         /// </summary>
         /// <param name="handle">Handle to an object of BaseHandle type.</param>
@@ -151,6 +192,15 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Create a instance of PropertyNotification.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
         /// Assign.
         /// </summary>
         /// <param name="rhs">A reference to the copied handle.</param>
@@ -245,83 +295,32 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotification obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Enumeration for description of how to check condition.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyNotification(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        // Callback for PropertyNotification NotifySignal
-        private void OnPropertyNotificationNotify(IntPtr propertyNotification)
-        {
-            NotifyEventArgs e = new NotifyEventArgs();
-            e.PropertyNotification = GetPropertyNotificationFromPtr(propertyNotification);
-
-            if (_propertyNotificationNotifyEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _propertyNotificationNotifyEventHandler(this, e);
-            }
-        }
-
-        ///<summary>
-        /// Event arguments that passed via Notify signal
-        ///</summary>
         /// <since_tizen> 3 </since_tizen>
-        public class NotifyEventArgs : EventArgs
+        public enum NotifyMode
         {
-            private PropertyNotification _propertyNotification;
-
-            ///<summary>
-            /// PropertyNotification - is the PropertyNotification handle that has the notification properties.
-            ///</summary>
+            /// <summary>
+            /// Don't notify, regardless of result of Condition
+            /// </summary>
             /// <since_tizen> 3 </since_tizen>
-            public PropertyNotification PropertyNotification
-            {
-                get
-                {
-                    return _propertyNotification;
-                }
-                set
-                {
-                    _propertyNotification = value;
-                }
-            }
+            Disabled,
+            /// <summary>
+            /// Notify whenever condition changes from false to true.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnTrue,
+            /// <summary>
+            /// Notify whenever condition changes from true to false.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnFalse,
+            /// <summary>
+            /// Notify whenever condition changes (false to true, and true to false)
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            NotifyOnChanged
         }
 
     }
index ebecdf3..00ed3ce 100755 (executable)
@@ -24,36 +24,31 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class PropertyNotifySignal : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal PropertyNotifySignal(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotifySignal obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
-
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PropertyNotifySignal(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose
@@ -92,6 +87,43 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Dispose
+        /// </summary>
+        /// <param name="type">The dispose type.</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_PropertyNotifySignal(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
+        }
+
+        /// <summary>
         /// Queries whether there are any connected slots.
         /// </summary>
         /// <returns>True if there are any slots connected to the signal.</returns>
@@ -154,46 +186,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotifySignal obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         /// <summary>
-        /// Dispose
+        /// The constructor.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), true)
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_PropertyNotifySignal(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
     }
index e24e3e1..1e7ce2c 100755 (executable)
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// An angle in radians.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
     public class Radian : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The default constructor, initializes to 0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true)
+        internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Creates an angle in radians.
-        /// </summary>
-        /// <param name="value">The initial value in radians.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// Creates an angle in radians from an angle in degrees.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="degree">The initial value in degrees.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -81,7 +56,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Radian()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -89,25 +64,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The value in radians.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Value
-        {
-            set
-            {
-                NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -131,23 +87,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Conversion to float.
-        /// </summary>
-        /// <returns>The float value of this radian.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float ConvertToFloat()
-        {
-            float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -180,5 +119,68 @@ namespace Tizen.NUI
             }
             disposed = true;
         }
+
+
+        /// <summary>
+        /// The default constructor, initializes to 0.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Radian() : this(NDalicPINVOKE.new_Radian__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an angle in radians.
+        /// </summary>
+        /// <param name="value">The initial value in radians.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Radian(float value) : this(NDalicPINVOKE.new_Radian__SWIG_1(value), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Creates an angle in radians from an angle in degrees.
+        /// </summary>
+        /// <param name="degree">The initial value in degrees.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Radian(Degree degree) : this(NDalicPINVOKE.new_Radian__SWIG_2(Degree.getCPtr(degree)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Conversion to float.
+        /// </summary>
+        /// <returns>The float value of this radian.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float ConvertToFloat()
+        {
+            float ret = NDalicPINVOKE.Radian_ConvertToFloat(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The value in radians.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Value
+        {
+            set
+            {
+                NDalicPINVOKE.Radian_radian_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Radian_radian_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
     }
+
 }
\ No newline at end of file
index db2bc69..d02a394 100755 (executable)
@@ -19,6 +19,7 @@
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// The Rectangle class.
     /// </summary>
@@ -26,50 +27,31 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RectangleTypeConverter))]
     public class Rectangle : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="x">The x coordinate (or left).</param>
-        /// <param name="y">The y coordinate (or right).</param>
-        /// <param name="width">The width (or bottom).</param>
-        /// <param name="height">The height (or top).</param>
         /// <since_tizen> 3 </since_tizen>
-        public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -77,7 +59,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Rectangle()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -85,279 +67,215 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x position of the rectangle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int X
+        public void Dispose()
         {
-            set
-            {
-                x = (value);
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                return x;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The Y position of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Y
-        {
-            set
+            if (isDisposeQueued)
             {
-                y = (value);
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                return y;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The width of the rectangle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int Width
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                width = (value);
+                return;
             }
-            get
+
+            if(type == DisposeTypes.Explicit)
             {
-                return width;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
         /// <summary>
-        /// The height of the rectangle.
+        /// THe Equality operator.
         /// </summary>
+        /// <param name="a">The first operand.</param>
+        /// <param name="b">The second operand.</param>
+        /// <returns>True if the boxes are exactly the same.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int Height
+        public static bool operator ==(Rectangle a, Rectangle b)
         {
-            set
-            {
-                height = (value);
-            }
-            get
+            // If both are null, or both are same instance, return true.
+            if (System.Object.ReferenceEquals(a, b))
             {
-                return height;
+                return true;
             }
-        }
 
-        private int x
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            // If one is null, but not both, return false.
+            if (((object)a == null) || ((object)b == null))
             {
-                int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return false;
             }
-        }
 
-        private int left
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            // Return true if the fields match:
+            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
-        private int y
+        /// <summary>
+        /// Equality operator.
+        /// </summary>
+        /// <param name="o">The object to compare with the current object.</param>
+        /// <returns>True if boxes are exactly same.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override bool Equals(object o)
         {
-            set
+            if(o == null)
             {
-                NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return false;
             }
-            get
+            if(!(o is Rectangle))
             {
-                int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return false;
             }
-        }
+            Rectangle r = (Rectangle)o;
 
-        private int right
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            // Return true if the fields match:
+            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
         }
 
-        private int width
+        /// <summary>
+        /// Serves as the default hash function.
+        /// </summary>
+        /// <returns>A hash code for the current object.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public override int GetHashCode()
         {
-            set
-            {
-                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return base.GetHashCode();
         }
 
-        private int bottom
+        /// <summary>
+        /// Inequality operator.
+        /// </summary>
+        /// <param name="a">The first rectangle.</param>
+        /// <param name="b">The second rectangle.</param>
+        /// <returns>True if the rectangles are not identical.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static bool operator !=(Rectangle a, Rectangle b)
         {
-            set
-            {
-                NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            return !(a == b);
         }
 
-        private int height
+        /// <summary>
+        /// The x position of the rectangle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int X
         {
             set
             {
-                NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                x = ( value );
             }
             get
             {
-                int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return x;
+            }
             }
-        }
 
-        private int top
+        /// <summary>
+        /// The Y position of the rectangle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Y
         {
             set
             {
-                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                y = ( value );
             }
             get
             {
-                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return y;
             }
         }
 
         /// <summary>
-        /// THe Equality operator.
+        /// The width of the rectangle.
         /// </summary>
-        /// <param name="a">The first operand.</param>
-        /// <param name="b">The second operand.</param>
-        /// <returns>True if the boxes are exactly the same.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static bool operator ==(Rectangle a, Rectangle b)
+        public int Width
         {
-            // If both are null, or both are same instance, return true.
-            if (System.Object.ReferenceEquals(a, b))
+            set
             {
-                return true;
+                width = ( value );
             }
-
-            // If one is null, but not both, return false.
-            if (((object)a == null) || ((object)b == null))
+            get
             {
-                return false;
+                return width;
             }
-
-            // Return true if the fields match:
-            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
         /// <summary>
-        /// Inequality operator.
-        /// </summary>
-        /// <param name="a">The first rectangle.</param>
-        /// <param name="b">The second rectangle.</param>
-        /// <returns>True if the rectangles are not identical.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static bool operator !=(Rectangle a, Rectangle b)
-        {
-            return !(a == b);
-        }
-
-        /// <summary>
-        /// Dispose.
+        /// The height of the rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int Height
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                height = ( value );
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return height;
             }
         }
 
         /// <summary>
-        /// Equality operator.
+        /// The constructor.
         /// </summary>
-        /// <param name="o">The object to compare with the current object.</param>
-        /// <returns>True if boxes are exactly same.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override bool Equals(object o)
+        /// <since_tizen> 3 </since_tizen>
+        public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
         {
-            if(o == null)
-            {
-                return false;
-            }
-            if(!(o is Rectangle))
-            {
-                return false;
-            }
-            Rectangle r = (Rectangle)o;
-
-            // Return true if the fields match:
-            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Serves as the default hash function.
+        /// The constructor.
         /// </summary>
-        /// <returns>A hash code for the current object.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public override int GetHashCode()
+        /// <param name="x">The x coordinate (or left).</param>
+        /// <param name="y">The y coordinate (or right).</param>
+        /// <param name="width">The width (or bottom).</param>
+        /// <param name="height">The height (or top).</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Rectangle(int x, int y, int width, int height) : this(NDalicPINVOKE.new_Rectangle__SWIG_1(x, y, width, height), true)
         {
-            return base.GetHashCode();
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -472,43 +390,126 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
+        private int x
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            set
+            {
+                NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        private int left
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Rectangle_left_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_left_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
 
-            if (type == DisposeTypes.Explicit)
+        private int y
+        {
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                NDalicPINVOKE.Rectangle_y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+        private int right
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_right_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_right_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        private int width
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
+
+        private int bottom
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_bottom_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_bottom_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        private int height
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        private int top
+        {
+            set
+            {
+                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
     }
+
 }
\ No newline at end of file
index a93d495..69d67d3 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -19,6 +19,7 @@
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// RelativeVector2 is a two-dimensional vector.
     /// Both values (x and y) should be between [0, 1].
@@ -27,68 +28,31 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector2TypeConverter))]
     public class RelativeVector2 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(ValueCheck(x), ValueCheck(y)), true)
+        internal RelativeVector2(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(RelativeVector3.getCPtr(relativeVector3)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector2 obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal RelativeVector2(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -96,7 +60,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector2()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -104,48 +68,63 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public void Dispose()
         {
-            set
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-            get
+
+            if (isDisposeQueued)
             {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The y component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Y
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
             }
-            get
+
+            if(type == DisposeTypes.Explicit)
             {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector2 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
+
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -224,57 +203,119 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
+
         /// <summary>
+        /// The const array subscript operator overload. Should be 0, 1.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(RelativeVector2 relativeVector2)
+        public float this[uint index]
         {
-            return new Vector2(relativeVector2.X, relativeVector2.Y);
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
         /// </summary>
+        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
+        {
+            RelativeVector2 ret = new RelativeVector2(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector2(Vector2 vec)
+        public RelativeVector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
         {
-            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public RelativeVector2(float x, float y) : this(NDalicPINVOKE.new_Vector2__SWIG_1(ValueCheck(x), ValueCheck(y)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector2(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(RelativeVector3.getCPtr(relativeVector3)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1.
+        /// The constructor.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
+        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public RelativeVector2(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector2__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
         {
-            get
-            {
-                return ValueOfIndex(index);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+
+        private RelativeVector2 Add(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Add(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Subtract(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Multiply(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Multiply(float rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Divide(RelativeVector2 rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector2 Divide(float rhs)
+        {
+            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -294,16 +335,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the the hash code of this RelativeVector2.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
         /// Compares if the rhs is equal to.
         /// </summary>
         /// <param name="rhs">The vector to compare.</param>
@@ -329,138 +360,102 @@ namespace Tizen.NUI
             return ret;
         }
 
+
         /// <summary>
+        /// The x component.
         /// </summary>
-        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            RelativeVector2 ret = new RelativeVector2(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
+        {
+            set
+            {
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector2(RelativeVector2 relativeVector2)
+        {
+            return new Vector2(relativeVector2.X, relativeVector2.Y);
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator RelativeVector2(Vector2 vec)
+        {
+            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
         }
 
         internal static RelativeVector2 ValueCheck(RelativeVector2 relativeVector2)
         {
-            if (relativeVector2.X < 0.0f)
+            if(relativeVector2.X < 0.0f)
             {
                 relativeVector2.X = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector2.X > 1.0f)
+            else if(relativeVector2.X > 1.0f)
             {
                 relativeVector2.X = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            if (relativeVector2.Y < 0.0f)
+            if(relativeVector2.Y < 0.0f)
             {
                 relativeVector2.Y = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector2.Y > 1.0f)
+            else if(relativeVector2.Y > 1.0f)
             {
                 relativeVector2.Y = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
             return relativeVector2;
         }
 
         internal static float ValueCheck(float value)
         {
-            if (value < 0.0f)
+            if(value < 0.0f)
             {
                 value = 0.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
             }
-            else if (value > 1.0f)
+            else if(value > 1.0f)
             {
                 value = 1.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
             }
             return value;
         }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        private RelativeVector2 Add(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Add(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Subtract(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Multiply(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Multiply(float rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Divide(RelativeVector2 rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, RelativeVector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector2 Divide(float rhs)
-        {
-            RelativeVector2 ret = new RelativeVector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
     }
+
 }
 
 
index 5176bb5..9b674ff 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -20,6 +20,7 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// RelativeVector3 is a three-dimensional vector.
     /// All values (x, y, z and w) should be between [0, 1].
@@ -28,63 +29,31 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector3TypeConverter))]
     public class RelativeVector3 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z)), true)
+        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -92,7 +61,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector3()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -100,62 +69,63 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public void Dispose()
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
             }
-            get
+
+            if(type == DisposeTypes.Explicit)
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
+
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -234,57 +204,120 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
+
         /// <summary>
+        /// The const array subscript operator overload. Should be 0, 1 or 2.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector3(RelativeVector3 relativeVector3)
+        public float this[uint index]
         {
-            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
         /// </summary>
+        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
+        {
+            RelativeVector3 ret = new RelativeVector3(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector3(Vector3 vec)
+        public RelativeVector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public RelativeVector3(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector3(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1 or 2.
+        /// The constructor.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
+        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public RelativeVector3(RelativeVector4 relativeVector4) : this(NDalicPINVOKE.new_Vector3__SWIG_4(RelativeVector4.getCPtr(relativeVector4)), true)
         {
-            get
-            {
-                return ValueOfIndex(index);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+
+        private RelativeVector3 Add(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Add(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Subtract(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Multiply(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Multiply(float rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Divide(RelativeVector3 rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector3 Divide(float rhs)
+        {
+            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -304,16 +337,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the the hash code of this RelativeVector3.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
         /// Compares if the rhs is equal to.
         /// </summary>
         /// <param name="rhs">The vector to compare.</param>
@@ -339,157 +362,128 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
+
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            if (relativeVector3.X < 0.0f)
-            {
-                relativeVector3.X = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if (relativeVector3.X > 1.0f)
-            {
-                relativeVector3.X = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
-            }
-            if (relativeVector3.Y < 0.0f)
+            set
             {
-                relativeVector3.Y = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else if (relativeVector3.Y > 1.0f)
+            get
             {
-                relativeVector3.Y = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            if (relativeVector3.Z < 0.0f)
+        }
+
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
+        {
+            set
             {
-                relativeVector3.Z = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else if (relativeVector3.Z > 1.0f)
+            get
             {
-                relativeVector3.Z = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            return relativeVector3;
         }
 
-        internal static float ValueCheck(float value)
+        /// <summary>
+        /// The z component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Z
         {
-            if (value < 0.0f)
+            set
             {
-                value = 0.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else if (value > 1.0f)
+            get
             {
-                value = 1.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            return value;
         }
 
         /// <summary>
         /// </summary>
-        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
-        {
-            RelativeVector3 ret = new RelativeVector3(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector3(RelativeVector3 relativeVector3)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
         }
 
         /// <summary>
-        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public static implicit operator RelativeVector3(Vector3 vec)
         {
-            if (disposed)
+            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
+        }
+
+        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
+        {
+            if(relativeVector3.X < 0.0f)
             {
-                return;
+                relativeVector3.X = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-
-            if(type == DisposeTypes.Explicit)
+            else if(relativeVector3.X > 1.0f)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                relativeVector3.X = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            if(relativeVector3.Y < 0.0f)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                relativeVector3.Y = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            disposed = true;
-        }
-
-        private RelativeVector3 Add(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Add(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Subtract(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Multiply(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Multiply(float rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Divide(RelativeVector3 rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, RelativeVector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector3 Divide(float rhs)
-        {
-            RelativeVector3 ret = new RelativeVector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            else if(relativeVector3.Y > 1.0f)
+            {
+                relativeVector3.Y = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            if(relativeVector3.Z < 0.0f)
+            {
+                relativeVector3.Z = 0.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            else if(relativeVector3.Z > 1.0f)
+            {
+                relativeVector3.Z = 1.0f;
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+            }
+            return relativeVector3;
         }
 
-        private float ValueOfIndex(uint index)
+        internal static float ValueCheck(float value)
         {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if(value < 0.0f)
+            {
+                value = 0.0f;
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            else if(value > 1.0f)
+            {
+                value = 1.0f;
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
+            }
+            return value;
         }
     }
 
index 8e22332..ea88180 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -19,6 +19,7 @@
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// RelativeVector4 is a four-dimensional vector.
     /// All values (x, y, and z) should be between [0, 1].
@@ -27,64 +28,31 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RelativeVector4TypeConverter))]
     public class RelativeVector4 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x component.</param>
-        /// <param name="y">The y component.</param>
-        /// <param name="z">The z component.</param>
-        /// <param name="w">The w component.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(x), ValueCheck(y), ValueCheck(z), ValueCheck(w)), true)
+        internal RelativeVector4(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector4 obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(RelativeVector3.getCPtr(relativeVector3)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -100,81 +68,63 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public void Dispose()
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector4_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_Z_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The w component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float W
-        {
-            set
+            if(type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Vector4_W_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
+
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -253,57 +203,120 @@ namespace Tizen.NUI
             return ValueCheck(result);
         }
 
+
         /// <summary>
+        /// The const array subscript operator overload. Should be 0, 1 3 or 3.
         /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector4(RelativeVector4 relativeVector4)
+        public float this[uint index]
         {
-            return new Vector4(relativeVector4.X, relativeVector4.Y, relativeVector4.Z, relativeVector4.W);
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
+
+        /// <summary>
+        /// </summary>
+        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
+        {
+            RelativeVector4 ret = new RelativeVector4(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
+
         /// <summary>
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector4(Vector4 vec)
+        public RelativeVector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
         {
-            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="x">The x component.</param>
+        /// <param name="y">The y component.</param>
+        /// <param name="z">The z component.</param>
+        /// <param name="w">The w component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public RelativeVector4(float x, float y, float z, float w) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(x), ValueCheck(y),ValueCheck(z), ValueCheck(w)), true)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public RelativeVector4(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1 3 or 3.
+        /// The constructor.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
+        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public RelativeVector4(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector4__SWIG_4(RelativeVector3.getCPtr(relativeVector3)), true)
         {
-            get
-            {
-                return ValueOfIndex(index);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        private RelativeVector4 Add(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Add(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Subtract(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Multiply(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Multiply(float rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Divide(RelativeVector4 rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private RelativeVector4 Divide(float rhs)
+        {
+            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -323,16 +336,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the the hash code of this RelativeVector4.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
         /// Compares if the rhs is equal to.
         /// </summary>
         /// <param name="rhs">The vector to compare.</param>
@@ -358,168 +361,159 @@ namespace Tizen.NUI
             return ret;
         }
 
+
         /// <summary>
+        /// The x component.
         /// </summary>
-        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            RelativeVector4 ret = new RelativeVector4(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector4_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The z component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Z
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_Z_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The w component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float W
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_W_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_W_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector4(RelativeVector4 relativeVector4)
+        {
+            return new Vector4(relativeVector4.X, relativeVector4.Y, relativeVector4.Z, relativeVector4.W);
+        }
+
+        /// <summary>
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator RelativeVector4(Vector4 vec)
+        {
+            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
         }
 
         internal static RelativeVector4 ValueCheck(RelativeVector4 relativeVector4)
         {
-            if (relativeVector4.X < 0.0f)
+            if(relativeVector4.X < 0.0f)
             {
                 relativeVector4.X = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector4.X > 1.0f)
+            else if(relativeVector4.X > 1.0f)
             {
                 relativeVector4.X = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            if (relativeVector4.Y < 0.0f)
+            if(relativeVector4.Y < 0.0f)
             {
                 relativeVector4.Y = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector4.Y > 1.0f)
+            else if(relativeVector4.Y > 1.0f)
             {
                 relativeVector4.Y = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            if (relativeVector4.Z < 0.0f)
+            if(relativeVector4.Z < 0.0f)
             {
                 relativeVector4.Z = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector4.Z > 1.0f)
+            else if(relativeVector4.Z > 1.0f)
             {
                 relativeVector4.Z = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            if (relativeVector4.W < 0.0f)
+            if(relativeVector4.W < 0.0f)
             {
                 relativeVector4.W = 0.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
-            else if (relativeVector4.W > 1.0f)
+            else if(relativeVector4.W > 1.0f)
             {
                 relativeVector4.W = 1.0f;
-                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
             }
             return relativeVector4;
         }
 
         internal static float ValueCheck(float value)
         {
-            if (value < 0.0f)
+            if(value < 0.0f)
             {
                 value = 0.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
             }
-            else if (value > 1.0f)
+            else if(value > 1.0f)
             {
                 value = 1.0f;
-                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
+                NUILog.Error( "The value of Parameters is invalid! Should be between [0, 1].");
             }
             return value;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector4 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal RelativeVector4(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        private RelativeVector4 Add(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Add(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Subtract(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Multiply(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Multiply(float rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Divide(RelativeVector4 rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, RelativeVector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private RelativeVector4 Divide(float rhs)
-        {
-            RelativeVector4 ret = new RelativeVector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
     }
 }
 
index af788c0..ecdd30b 100755 (executable)
@@ -25,30 +25,39 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class RelayoutContainer : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         ~RelayoutContainer()
         {
-            if (!isDisposeQueued)
+            if(!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -79,29 +88,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Adds relayout information to the container if it doesn't already exist.
-        /// </summary>
-        /// <param name="view">The view to relayout.</param>
-        /// <param name="size">The size to relayout.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public virtual void Add(View view, Size2D size)
-        {
-            NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, View.getCPtr(view), Size2D.getCPtr(size));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelayoutContainer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal RelayoutContainer(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -134,5 +120,19 @@ namespace Tizen.NUI
             }
             disposed = true;
         }
+
+        /// <summary>
+        /// Adds relayout information to the container if it doesn't already exist.
+        /// </summary>
+        /// <param name="view">The view to relayout.</param>
+        /// <param name="size">The size to relayout.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public virtual void Add(View view, Size2D size)
+        {
+            NDalicPINVOKE.RelayoutContainer_Add(swigCPtr, View.getCPtr(view), Size2D.getCPtr(size));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
     }
+
 }
\ No newline at end of file
index 446553b..e345ddd 100755 (executable)
@@ -27,129 +27,404 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Create an instance of Renderer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Renderer(Geometry geometry, Shader shader) : this(NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
+        internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Renderer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Gets and Sets DepthIndex property.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int DepthIndex
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX).Get(out temp);
-                return temp;
-            }
-            set
+            if (disposed)
             {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue(value));
+                return;
             }
-        }
 
-        /// <summary>
-        /// Gets and Sets FaceCullingMode.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int FaceCullingMode
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE).Get(out temp);
-                return temp;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-            set
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.PropertyValue(value));
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Renderer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// Gets and Sets BlendMode.
+        /// Enumeration for instances of properties belonging to the Renderer class.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int BlendMode
+        public class Property
         {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_MODE).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_MODE, new Tizen.NUI.PropertyValue(value));
-            }
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_INDEX = NDalicPINVOKE.Renderer_Property_DEPTH_INDEX_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int FACE_CULLING_MODE = NDalicPINVOKE.Renderer_Property_FACE_CULLING_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_MODE = NDalicPINVOKE.Renderer_Property_BLEND_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_EQUATION_RGB = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_EQUATION_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_SRC_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_DEST_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_SRC_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_FACTOR_DEST_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_COLOR = NDalicPINVOKE.Renderer_Property_BLEND_COLOR_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int BLEND_PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int INDEX_RANGE_FIRST = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_FIRST_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int INDEX_RANGE_COUNT = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_COUNT_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_WRITE_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_WRITE_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_FUNCTION = NDalicPINVOKE.Renderer_Property_DEPTH_FUNCTION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int DEPTH_TEST_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_TEST_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int RENDER_MODE = NDalicPINVOKE.Renderer_Property_RENDER_MODE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_MASK_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_FUNCTION_REFERENCE = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_MASK_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_Z_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
+            /// <summary>
+            /// This should be internal, please do not use.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public static readonly int STENCIL_OPERATION_ON_Z_PASS = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
+
         }
 
         /// <summary>
-        /// Gets and Sets BlendEquationRgb.
+        /// Create an instance of Renderer.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int BlendEquationRgb
+        public Renderer(Geometry geometry, Shader shader) : this(NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
         {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.PropertyValue(value));
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
         /// <summary>
-        /// Gets and Sets BlendEquationAlpha.
+        /// Sets the geometry to be used by this renderer.
         /// </summary>
+        /// <param name="geometry">The geometry to be used by this renderer.</param>
         /// <since_tizen> 3 </since_tizen>
-        public int BlendEquationAlpha
+        public void SetGeometry(Geometry geometry)
         {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.PropertyValue(value));
-            }
+            NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Gets and Sets BlendFactorSrcRgb.
+        /// Gets the geometry used by this renderer.
         /// </summary>
+        /// <returns>The geometry used by the renderer.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public int BlendFactorSrcRgb
+        public Geometry GetGeometry()
         {
-            get
-            {
-                int temp = 0;
-                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.PropertyValue(value));
-            }
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetGeometry(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Geometry ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Geometry;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Gets and Sets BlendFactorDestRgb.
+        /// Sets effective range of indices to draw from bound index buffer.
         /// </summary>
+        /// <param name="firstElement">The First element to draw.</param>
+        /// <param name="elementsCount">The number of elements to draw.</param>
         /// <since_tizen> 3 </since_tizen>
-        public int BlendFactorDestRgb
+        public void SetIndexRange(int firstElement, int elementsCount)
+        {
+            NDalicPINVOKE.Renderer_SetIndexRange(swigCPtr, firstElement, elementsCount);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Sets the texture set to be used by this renderer.
+        /// </summary>
+        /// <param name="textureSet">The texture set to be used by this renderer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetTextures(TextureSet textureSet)
+        {
+            NDalicPINVOKE.Renderer_SetTextures(swigCPtr, TextureSet.getCPtr(textureSet));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the texture set used by this renderer.
+        /// </summary>
+        /// <returns>The texture set used by the renderer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public TextureSet GetTextures()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetTextures(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            TextureSet ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TextureSet;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets the shader used by this renderer.
+        /// </summary>
+        /// <param name="shader">The shader to be used by this renderer.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetShader(Shader shader)
+        {
+            NDalicPINVOKE.Renderer_SetShader(swigCPtr, Shader.getCPtr(shader));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Gets the shader used by this renderer.
+        /// </summary>
+        /// <returns>The shader used by the renderer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader GetShader()
+        {
+            //to fix memory leak issue, match the handle count with native side.
+            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetShader(swigCPtr);
+            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            Shader ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Shader;
+            NDalicPINVOKE.delete_BaseHandle(CPtr);
+            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Gets and Sets DepthIndex property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int DepthIndex
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets FaceCullingMode.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int FaceCullingMode
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.FACE_CULLING_MODE, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets BlendMode.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int BlendMode
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_MODE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_MODE, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets BlendEquationRgb.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int BlendEquationRgb
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_RGB, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets BlendEquationAlpha.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int BlendEquationAlpha
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_EQUATION_ALPHA, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets BlendFactorSrcRgb.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int BlendFactorSrcRgb
+        {
+            get
+            {
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.BLEND_FACTOR_SRC_RGB, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets and Sets BlendFactorDestRgb.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int BlendFactorDestRgb
         {
             get
             {
@@ -469,278 +744,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Sets the geometry to be used by this renderer.
-        /// </summary>
-        /// <param name="geometry">The geometry to be used by this renderer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetGeometry(Geometry geometry)
-        {
-            NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the geometry used by this renderer.
-        /// </summary>
-        /// <returns>The geometry used by the renderer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Geometry GetGeometry()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetGeometry(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Geometry ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Geometry;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets effective range of indices to draw from bound index buffer.
-        /// </summary>
-        /// <param name="firstElement">The First element to draw.</param>
-        /// <param name="elementsCount">The number of elements to draw.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetIndexRange(int firstElement, int elementsCount)
-        {
-            NDalicPINVOKE.Renderer_SetIndexRange(swigCPtr, firstElement, elementsCount);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Sets the texture set to be used by this renderer.
-        /// </summary>
-        /// <param name="textureSet">The texture set to be used by this renderer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetTextures(TextureSet textureSet)
-        {
-            NDalicPINVOKE.Renderer_SetTextures(swigCPtr, TextureSet.getCPtr(textureSet));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the texture set used by this renderer.
-        /// </summary>
-        /// <returns>The texture set used by the renderer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public TextureSet GetTextures()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetTextures(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            TextureSet ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as TextureSet;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the shader used by this renderer.
-        /// </summary>
-        /// <param name="shader">The shader to be used by this renderer.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetShader(Shader shader)
-        {
-            NDalicPINVOKE.Renderer_SetShader(swigCPtr, Shader.getCPtr(shader));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Gets the shader used by this renderer.
-        /// </summary>
-        /// <returns>The shader used by the renderer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader GetShader()
-        {
-            //to fix memory leak issue, match the handle count with native side.
-            System.IntPtr cPtr = NDalicPINVOKE.Renderer_GetShader(swigCPtr);
-            HandleRef CPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            Shader ret = Registry.GetManagedBaseHandleFromNativePtr(CPtr.Handle) as Shader;
-            NDalicPINVOKE.delete_BaseHandle(CPtr);
-            CPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Renderer obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Renderer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        /// <summary>
-        /// Enumeration for instances of properties belonging to the Renderer class.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class Property
-        {
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_INDEX = NDalicPINVOKE.Renderer_Property_DEPTH_INDEX_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int FACE_CULLING_MODE = NDalicPINVOKE.Renderer_Property_FACE_CULLING_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_MODE = NDalicPINVOKE.Renderer_Property_BLEND_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_EQUATION_RGB = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_EQUATION_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_EQUATION_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_SRC_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_DEST_RGB = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_RGB_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_SRC_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_SRC_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_FACTOR_DEST_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_FACTOR_DEST_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_COLOR = NDalicPINVOKE.Renderer_Property_BLEND_COLOR_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int BLEND_PRE_MULTIPLIED_ALPHA = NDalicPINVOKE.Renderer_Property_BLEND_PRE_MULTIPLIED_ALPHA_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int INDEX_RANGE_FIRST = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_FIRST_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int INDEX_RANGE_COUNT = NDalicPINVOKE.Renderer_Property_INDEX_RANGE_COUNT_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_WRITE_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_WRITE_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_FUNCTION = NDalicPINVOKE.Renderer_Property_DEPTH_FUNCTION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int DEPTH_TEST_MODE = NDalicPINVOKE.Renderer_Property_DEPTH_TEST_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int RENDER_MODE = NDalicPINVOKE.Renderer_Property_RENDER_MODE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_MASK_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_FUNCTION_REFERENCE = NDalicPINVOKE.Renderer_Property_STENCIL_FUNCTION_REFERENCE_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_MASK = NDalicPINVOKE.Renderer_Property_STENCIL_MASK_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_FAIL_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_Z_FAIL = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_FAIL_get();
-            /// <summary>
-            /// This should be internal, please do not use.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public static readonly int STENCIL_OPERATION_ON_Z_PASS = NDalicPINVOKE.Renderer_Property_STENCIL_OPERATION_ON_Z_PASS_get();
-        }
     }
+
 }
\ No newline at end of file
index ac37b1a..50ec032 100755 (executable)
@@ -19,6 +19,7 @@
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// The Rotation class.
     /// </summary>
@@ -26,70 +27,100 @@ namespace Tizen.NUI
     [TypeConverter(typeof(RotationTypeConverter))]
     public class Rotation : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        internal Rotation(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rotation obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
-
-
         /// <summary>
-        /// The default constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
-        /// The constructor from an axis and angle.
+        /// Dispose.
         /// </summary>
-        /// <param name="angle">The angle around the axis.</param>
-        /// <param name="axis">The vector of the axis.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
+        ~Rotation()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
-        /// Dispose.
+        /// To make the Rotation instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Rotation()
+        public void Dispose()
         {
-            if(!isDisposeQueued)
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// (0.0f,0.0f,0.0f,1.0f).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation IDENTITY
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Rotation_IDENTITY_get();
-                Rotation ret = (cPtr == global::System.IntPtr.Zero) ? null : new Rotation(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Rotation(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
         /// <summary>
@@ -188,140 +219,167 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Returns the dot product of two rotations.
+        /// The default constructor.
         /// </summary>
-        /// <param name="q1">The first rotation.</param>
-        /// <param name="q2">The second rotation.</param>
-        /// <returns>The dot product of the two rotations.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static float Dot(Rotation q1, Rotation q2)
+        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
         {
-            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// The linear iterpolation (using a straight line between the two rotations).
+        /// The constructor from an axis and angle.
         /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
+        /// <param name="angle">The angle around the axis.</param>
+        /// <param name="axis">The vector of the axis.</param>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation Lerp(Rotation q1, Rotation q2, float t)
+        public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// The spherical linear interpolation (using the shortest arc of a great circle between the two rotations).
+        /// (0.0f,0.0f,0.0f,1.0f).
         /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="progress">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
+        public static Rotation IDENTITY
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Rotation_IDENTITY_get();
+                Rotation ret = (cPtr == global::System.IntPtr.Zero) ? null : new Rotation(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// This version of slerp, used by squad, does not check for theta > 90.
+        /// Helper to check if this is an identity quaternion.
         /// </summary>
-        /// <param name="q1">The start rotation.</param>
-        /// <param name="q2">The end rotation.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
+        /// <returns>True if this is identity quaternion.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
+        public bool IsIdentity()
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// The spherical cubic interpolation.
+        /// Converts the quaternion to an axis or angle pair.
         /// </summary>
-        /// <param name="start">The start rotation.</param>
-        /// <param name="end">The end rotation.</param>
-        /// <param name="ctrl1">The control rotation for q1.</param>
-        /// <param name="ctrl2">The control rotation for q2.</param>
-        /// <param name="t">A progress value between 0 and 1.</param>
-        /// <returns>The interpolated rotation.</returns>
+        /// <param name="axis">The result of an an axis.</param>
+        /// <param name="angle">The result of angle in radians.</param>
+        /// <returns>True if converted correctly.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
+        public bool GetAxisAngle(Vector3 axis, Radian angle)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
+            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Returns the shortest angle between two rotations in radians.
-        /// </summary>
-        /// <param name="q1">The first rotation.</param>
-        /// <param name="q2">The second rotation.</param>
-        /// <returns>The angle between the two rotation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static float AngleBetween(Rotation q1, Rotation q2)
+        private Rotation Add(Rotation other)
         {
-            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Add(swigCPtr, Rotation.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// To make the Rotation instance be disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        private Rotation Subtract(Rotation other)
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+        private Rotation Multiply(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Helper to check if this is an identity quaternion.
-        /// </summary>
-        /// <returns>True if this is identity quaternion.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsIdentity()
+        private Vector3 Multiply(Vector3 other)
         {
-            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
+            Vector3 ret = new Vector3(NDalicPINVOKE.Rotation_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Converts the quaternion to an axis or angle pair.
-        /// </summary>
-        /// <param name="axis">The result of an an axis.</param>
-        /// <param name="angle">The result of angle in radians.</param>
-        /// <returns>True if converted correctly.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool GetAxisAngle(Vector3 axis, Radian angle)
+        private Rotation Divide(Rotation other)
         {
-            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation Multiply(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_2(swigCPtr, scale), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation Divide(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_1(swigCPtr, scale), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation Subtract()
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation AddAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_AddAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation SubtractAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation MultiplyAssign(Rotation other)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation MultiplyAssign(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Rotation DivideAssign(float scale)
+        {
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_DivideAssign(swigCPtr, scale), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Rotation rhs)
+        {
+            bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Rotation rhs)
+        {
+            bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -416,154 +474,96 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rotation obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal Rotation(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Returns the dot product of two rotations.
         /// </summary>
+        /// <param name="q1">The first rotation.</param>
+        /// <param name="q2">The second rotation.</param>
+        /// <returns>The dot product of the two rotations.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rotation(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        private Rotation Add(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Add(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Subtract(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Multiply(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Multiply(Vector3 other)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Rotation_Multiply__SWIG_1(swigCPtr, Vector3.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Divide(Rotation other)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Multiply(float scale)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Multiply__SWIG_2(swigCPtr, scale), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Divide(float scale)
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_1(swigCPtr, scale), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation Subtract()
-        {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Rotation AddAssign(Rotation other)
+        public static float Dot(Rotation q1, Rotation q2)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_AddAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation SubtractAssign(Rotation other)
+        /// <summary>
+        /// The linear iterpolation (using a straight line between the two rotations).
+        /// </summary>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation Lerp(Rotation q1, Rotation q2, float t)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), false);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation MultiplyAssign(Rotation other)
+        /// <summary>
+        /// The spherical linear interpolation (using the shortest arc of a great circle between the two rotations).
+        /// </summary>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="progress">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation MultiplyAssign(float scale)
+        /// <summary>
+        /// This version of slerp, used by squad, does not check for theta > 90.
+        /// </summary>
+        /// <param name="q1">The start rotation.</param>
+        /// <param name="q2">The end rotation.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation DivideAssign(float scale)
+        /// <summary>
+        /// The spherical cubic interpolation.
+        /// </summary>
+        /// <param name="start">The start rotation.</param>
+        /// <param name="end">The end rotation.</param>
+        /// <param name="ctrl1">The control rotation for q1.</param>
+        /// <param name="ctrl2">The control rotation for q2.</param>
+        /// <param name="t">A progress value between 0 and 1.</param>
+        /// <returns>The interpolated rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_DivideAssign(swigCPtr, scale), false);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private bool EqualTo(Rotation rhs)
+        /// <summary>
+        /// Returns the shortest angle between two rotations in radians.
+        /// </summary>
+        /// <param name="q1">The first rotation.</param>
+        /// <param name="q2">The second rotation.</param>
+        /// <returns>The angle between the two rotation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static float AngleBetween(Rotation q1, Rotation q2)
         {
-            bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private bool NotEqualTo(Rotation rhs)
-        {
-            bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
     }
+
 }
\ No newline at end of file
index 4b081c4..f6e0d96 100755 (executable)
@@ -25,6 +25,53 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal Sampler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Sampler_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Sampler obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Sampler(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Create an instance of Sampler.
         /// </summary>
@@ -72,51 +119,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Sampler obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal Sampler(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Sampler_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Sampler(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
+
 }
\ No newline at end of file
index 708c655..225d071 100755 (executable)
@@ -26,13 +26,9 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true)
+        internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollViewEffect obj)
@@ -40,11 +36,6 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -80,5 +71,16 @@ namespace Tizen.NUI
 
             base.Dispose(type);
         }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
     }
+
 }
\ No newline at end of file
index 3d4ba48..fdf9abf 100755 (executable)
@@ -94,7 +94,7 @@ namespace Tizen.NUI
 
         internal static ScrollViewPagePathEffect DownCast(BaseHandle handle)
         {
-            ScrollViewPagePathEffect ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as ScrollViewPagePathEffect;
+            ScrollViewPagePathEffect ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as ScrollViewPagePathEffect;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -111,5 +111,7 @@ namespace Tizen.NUI
             NDalicPINVOKE.ScrollViewPagePathEffect_ApplyToPage(swigCPtr, View.getCPtr(page), pageOrder);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
+
     }
+
 }
index b732226..f882082 100755 (executable)
@@ -25,47 +25,9 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Creates Shader object.
-        /// </summary>
-        /// <param name="vertexShader">The vertex shader code for the effect.</param>
-        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
-        /// <param name="hints">The hints to define the geometry of the rendered object.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader(string vertexShader, string fragmentShader, Shader.Hint.Value hints) : this(NDalicPINVOKE.Shader_New__SWIG_0(vertexShader, fragmentShader, (int)hints), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Creates Shader object.
-        /// </summary>
-        /// <param name="vertexShader">The vertex shader code for the effect.</param>
-        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public Shader(string vertexShader, string fragmentShader) : this(NDalicPINVOKE.Shader_New__SWIG_1(vertexShader, fragmentShader), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        /// <summary>
-        /// Gets and Sets the program property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Tizen.NUI.PropertyMap Program
+        internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            get
-            {
-                Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Shader.Property.PROGRAM).Get(temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Shader.Property.PROGRAM, new Tizen.NUI.PropertyValue(value));
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Shader obj)
@@ -73,11 +35,6 @@ namespace Tizen.NUI
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -159,5 +116,50 @@ namespace Tizen.NUI
             /// <since_tizen> 3 </since_tizen>
             public static readonly int PROGRAM = NDalicPINVOKE.Shader_Property_PROGRAM_get();
         }
+
+        /// <summary>
+        /// Creates Shader object.
+        /// </summary>
+        /// <param name="vertexShader">The vertex shader code for the effect.</param>
+        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
+        /// <param name="hints">The hints to define the geometry of the rendered object.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader(string vertexShader, string fragmentShader, Shader.Hint.Value hints) : this(NDalicPINVOKE.Shader_New__SWIG_0(vertexShader, fragmentShader, (int)hints), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
+        /// Creates Shader object.
+        /// </summary>
+        /// <param name="vertexShader">The vertex shader code for the effect.</param>
+        /// <param name="fragmentShader">The fragment Shader code for the effect.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Shader(string vertexShader, string fragmentShader) : this(NDalicPINVOKE.Shader_New__SWIG_1(vertexShader, fragmentShader), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+
+        /// <summary>
+        /// Gets and Sets the program property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Tizen.NUI.PropertyMap Program
+        {
+            get
+            {
+                Tizen.NUI.PropertyMap temp = new Tizen.NUI.PropertyMap();
+                Tizen.NUI.Object.GetProperty(swigCPtr, Shader.Property.PROGRAM).Get(temp);
+                return temp;
+            }
+            set
+            {
+                Tizen.NUI.Object.SetProperty(swigCPtr, Shader.Property.PROGRAM, new Tizen.NUI.PropertyValue(value));
+            }
+        }
     }
+
 }
\ No newline at end of file
index 9a8b32c..6a20e20 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -28,51 +28,29 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(SizeTypeConverter))]
     public class Size : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>swigCMemOwn.</summary>
         /// <since_tizen> 5 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <param name="x">The x (or width) component.</param>
-        /// <param name="y">The y (or height) component.</param>
-        /// <param name="z">The z (or depth) component.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="size2d">Size2D with x (width) and y (height).</param>
         /// <since_tizen> 5 </since_tizen>
-        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -87,75 +65,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The Zero constant, (0.0f, 0.0f, 0.0f).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static Size Zero
+        public void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
-                Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        /// <summary>
-        /// The Width property for the width component of size
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public float Width
-        {
-            set
+            if (isDisposeQueued)
             {
-                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The Height property for the height component of size.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public float Height
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The Depth property for the depth component of size.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public float Depth
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            disposed = true;
         }
 
         /// <summary>
@@ -255,157 +220,57 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Size size = obj as Size;
-            bool equal = false;
-            if (Width == size?.Width && Height == size?.Height && Depth == size?.Depth)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Size.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
-        /// Checks equality.<br />
-        /// Utilizes appropriate machine epsilon values.<br />
-        /// </summary>
-        /// <param name="rhs">The size to test against.</param>
-        /// <returns>True if the sizes are equal.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool EqualTo(Size rhs)
+        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
         {
-            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Size.getCPtr(rhs));
+            Size ret = new Size(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Checks inequality.<br />
-        /// Utilizes appropriate machine epsilon values.<br />
+        /// The constructor.
         /// </summary>
-        /// <param name="rhs">The size to test against.</param>
-        /// <returns>True if the sizes are not equal.</returns>
         /// <since_tizen> 5 </since_tizen>
-        public bool NotEqualTo(Size rhs)
+        public Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
         {
-            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Size.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-
-
         /// <summary>
-        /// The type cast operator, Size to Vector3.
+        /// The constructor.
         /// </summary>
-        /// <param name="size">The object of size type.</param>
+        /// <param name="x">The x (or width) component.</param>
+        /// <param name="y">The y (or height) component.</param>
+        /// <param name="z">The z (or depth) component.</param>
         /// <since_tizen> 5 </since_tizen>
-        public static implicit operator Vector3(Size size)
+        public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
         {
-            return new Vector3(size.Width, size.Height, size.Depth);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The type cast operator, Vector3 to Size type.
+        /// The constructor.
         /// </summary>
-        /// <param name="vec">The object of Vector3 type.</param>
+        /// <param name="size2d">Size2D with x (width) and y (height).</param>
         /// <since_tizen> 5 </since_tizen>
-        public static implicit operator Size(Vector3 vec)
-        {
-            return new Size(vec.Width, vec.Height, vec.Depth);
-        }
-
-        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
+        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
         {
-            Size ret = new Size(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Zero constant, (0.0f, 0.0f, 0.0f).
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public static Size Zero
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_ZERO_get();
+                Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-
-            disposed = true;
         }
 
         private Size Add(Size rhs)
@@ -463,6 +328,130 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
+
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Size size = obj as Size;
+            bool equal = false;
+            if (Width == size?.Width && Height == size?.Height && Depth == size?.Depth)
+            {
+                equal = true;
+            }
+            return equal;
+        }
+
+
+        /// <summary>
+        /// Checks equality.<br />
+        /// Utilizes appropriate machine epsilon values.<br />
+        /// </summary>
+        /// <param name="rhs">The size to test against.</param>
+        /// <returns>True if the sizes are equal.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool EqualTo(Size rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Size.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks inequality.<br />
+        /// Utilizes appropriate machine epsilon values.<br />
+        /// </summary>
+        /// <param name="rhs">The size to test against.</param>
+        /// <returns>True if the sizes are not equal.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool NotEqualTo(Size rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Size.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The Width property for the width component of size
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Width
+        {
+            set
+            {
+                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The Height property for the height component of size.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Height
+        {
+            set
+            {
+                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The Depth property for the depth component of size.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Depth
+        {
+            set
+            {
+                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The type cast operator, Size to Vector3.
+        /// </summary>
+        /// <param name="size">The object of size type.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public static implicit operator Vector3(Size size)
+        {
+            return new Vector3(size.Width, size.Height, size.Depth);
+        }
+
+        /// <summary>
+        /// The type cast operator, Vector3 to Size type.
+        /// </summary>
+        /// <param name="vec">The object of Vector3 type.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public static implicit operator Size(Vector3 vec)
+        {
+            return new Size(vec.Width, vec.Height, vec.Depth);
+        }
+
     }
+
 }
 
index 50c401c..7ad795e 100755 (executable)
@@ -19,6 +19,7 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
+
     /// <summary>
     /// A two-dimensional size.
     /// </summary>
@@ -26,44 +27,31 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(Size2DTypeConverter))]
     public class Size2D : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
-
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
-        private Size2DChangedCallback callback = null;
+        internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        /// <summary>
-        /// The constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size2D obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
         /// <summary>
-        /// The constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
-        /// <param name="x">The x (or width) component.</param>
-        /// <param name="y">The y (or height) component.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
         /// Dispose.
@@ -78,48 +66,61 @@ namespace Tizen.NUI
             }
         }
 
-        internal delegate void Size2DChangedCallback(int width, int height);
-
         /// <summary>
-        /// The property for the width component of a size.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int Width
+        public void Dispose()
         {
-            set
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
 
-                callback?.Invoke(Width, Height);
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
             }
-            get
+            else
             {
-                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The property for the height component of a size.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public int Height
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
+            if (disposed)
             {
-                NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return;
+            }
 
-                callback?.Invoke(Width, Height);
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            get
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return (int)ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
         /// <summary>
@@ -207,28 +208,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The type cast operator, Size2D to Vector2.
-        /// </summary>
-        /// <param name="size">An object of the Size2D type.</param>
-        /// <returns>return a Vector2 instance</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector2(Size2D size)
-        {
-            return new Vector2((float)size.Width, (float)size.Height);
-        }
-
-        /// <summary>
-        /// The type cast operator, Vector2 to Size2D type.
-        /// </summary>
-        /// <param name="vector2">An object of the Vector2 type.</param>
-        /// <returns>return a Size2D instance</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Size2D(Vector2 vector2)
-        {
-            return new Size2D((int)vector2.X, (int)vector2.Y);
-        }
-
-        /// <summary>
         /// The array subscript operator.
         /// </summary>
         /// <param name="index">The subscript index.</param>
@@ -243,145 +222,45 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Size2D size2D = obj as Size2D;
-            bool equal = false;
-            if (Width == size2D?.Width && Height == size2D?.Height)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Size2D.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
-        /// Checks equality.<br />
-        /// Utilizes appropriate machine epsilon values.<br />
+        /// Gets the size from the pointer.
         /// </summary>
-        /// <param name="rhs">The size to test against.</param>
-        /// <returns>True if the sizes are equal.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool EqualTo(Size2D rhs)
+        /// <param name="cPtr">The pointer of the size.</param>
+        /// <returns>Size</returns>
+        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
         {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Size2D.getCPtr(rhs));
+            Size2D ret = new Size2D(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Checks inequality.<br />
-        /// Utilizes appropriate machine epsilon values.<br />
+        /// The constructor.
         /// </summary>
-        /// <param name="rhs">The size to test against.</param>
-        /// <returns>True if the sizes are not equal.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool NotEqualTo(Size2D rhs)
+        public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
         {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Size2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size2D obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Gets the size from the pointer.
+        /// The constructor.
         /// </summary>
-        /// <param name="cPtr">The pointer of the size.</param>
-        /// <returns>Size</returns>
-        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
+        /// <param name="x">The x (or width) component.</param>
+        /// <param name="y">The y (or height) component.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
         {
-            Size2D ret = new Size2D(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
+        internal delegate void Size2DChangedCallback(int width, int height);
+        private Size2DChangedCallback callback = null;
         internal Size2D(Size2DChangedCallback cb, int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
         {
             callback = cb;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
         private Size2D Add(Size2D rhs)
         {
             Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Add(swigCPtr, Size2D.getCPtr(rhs)), true);
@@ -396,6 +275,7 @@ namespace Tizen.NUI
             return ret;
         }
 
+
         private Size2D Multiply(Size2D rhs)
         {
             Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
@@ -410,6 +290,7 @@ namespace Tizen.NUI
             return ret;
         }
 
+
         private Size2D Divide(Size2D rhs)
         {
             Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
@@ -431,11 +312,120 @@ namespace Tizen.NUI
             return ret;
         }
 
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Size2D size2D = obj as Size2D;
+            bool equal = false;
+            if (Width == size2D?.Width && Height == size2D?.Height)
+            {
+                equal = true;
+            }
+            return equal;
+        }
+
+        /// <summary>
+        /// Checks equality.<br />
+        /// Utilizes appropriate machine epsilon values.<br />
+        /// </summary>
+        /// <param name="rhs">The size to test against.</param>
+        /// <returns>True if the sizes are equal.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool EqualTo(Size2D rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Size2D.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks inequality.<br />
+        /// Utilizes appropriate machine epsilon values.<br />
+        /// </summary>
+        /// <param name="rhs">The size to test against.</param>
+        /// <returns>True if the sizes are not equal.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool NotEqualTo(Size2D rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Size2D.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         private int ValueOfIndex(uint index)
         {
             int ret = (int)NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
+
+        /// <summary>
+        /// The property for the width component of a size.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Width
+        {
+            set
+            {
+                NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(Width, Height);
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
+            }
+        }
+
+        /// <summary>
+        /// The property for the height component of a size.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Height
+        {
+            set
+            {
+                NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(Width, Height);
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
+            }
+        }
+
+        /// <summary>
+        /// The type cast operator, Size2D to Vector2.
+        /// </summary>
+        /// <param name="size">An object of the Size2D type.</param>
+        /// <returns>return a Vector2 instance</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector2(Size2D size)
+        {
+            return new Vector2((float)size.Width, (float)size.Height);
+        }
+
+        /// <summary>
+        /// The type cast operator, Vector2 to Size2D type.
+        /// </summary>
+        /// <param name="vector2">An object of the Vector2 type.</param>
+        /// <returns>return a Size2D instance</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Size2D(Vector2 vector2)
+        {
+            return new Size2D((int)vector2.X, (int)vector2.Y);
+        }
     }
+
 }
old mode 100755 (executable)
new mode 100644 (file)
index 4dd2e95..49580b9
@@ -32,23 +32,80 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class StyleManager : BaseHandle
     {
-        private static readonly StyleManager instance = StyleManager.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
-        private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
+
+        internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        private static readonly StyleManager instance = StyleManager.Get();
 
         /// <summary>
-        /// Creates a StyleManager handle.<br />
-        /// This can be initialized with StyleManager::Get().<br />
+        /// Gets the singleton of the StyleManager object.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static StyleManager Instance
+        {
+            get
+            {
+                return instance;
+            }
+        }
+
+        /// <summary>
+        /// Style changed event arguments.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
+        public class StyleChangedEventArgs : EventArgs
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            private StyleManager _styleManager;
+            private StyleChangeType _styleChange;
+
+            /// <summary>
+            /// StyleManager.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public StyleManager StyleManager
+            {
+                get
+                {
+                    return _styleManager;
+                }
+                set
+                {
+                    _styleManager = value;
+                }
+            }
+
+            /// <summary>
+            /// StyleChange - contains the style change information (default font changed or
+            /// default font size changed or theme has changed).<br />
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public StyleChangeType StyleChange
+            {
+                get
+                {
+                    return _styleChange;
+                }
+                set
+                {
+                    _styleChange = value;
+                }
+            }
+
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void StyleChangedCallbackDelegate(IntPtr styleManager, Tizen.NUI.StyleChangeType styleChange);
+        private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
+        private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
 
         /// <summary>
         /// An event for the StyleChanged signal which can be used to subscribe or unsubscribe the
@@ -78,19 +135,33 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Gets the singleton of the StyleManager object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static StyleManager Instance
+        // Callback for StyleManager StyleChangedsignal
+        private void OnStyleChanged(IntPtr styleManager, StyleChangeType styleChange)
         {
-            get
+            StyleChangedEventArgs e = new StyleChangedEventArgs();
+
+            // Populate all members of "e" (StyleChangedEventArgs) with real data.
+            e.StyleManager = Registry.GetManagedBaseHandleFromNativePtr(styleManager) as StyleManager;
+            e.StyleChange = styleChange;
+
+            if (_styleManagerStyleChangedEventHandler != null)
             {
-                return instance;
+                //Here we send all data to user event handlers.
+                _styleManagerStyleChangedEventHandler(this, e);
             }
         }
 
         /// <summary>
+        /// Creates a StyleManager handle.<br />
+        /// This can be initialized with StyleManager::Get().<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
         /// Gets the singleton of StyleManager object.
         /// </summary>
         /// <returns>A handle to the StyleManager control.</returns>
@@ -166,16 +237,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(StyleManager obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal StyleManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.StyleManager_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         internal StyleChangedSignal StyleChangedSignal()
         {
             StyleChangedSignal ret = new StyleChangedSignal(NDalicPINVOKE.StyleManager_StyleChangedSignal(swigCPtr), false);
@@ -183,63 +244,5 @@ namespace Tizen.NUI
             return ret;
         }
 
-        // Callback for StyleManager StyleChangedsignal
-        private void OnStyleChanged(IntPtr styleManager, StyleChangeType styleChange)
-        {
-            StyleChangedEventArgs e = new StyleChangedEventArgs();
-
-            // Populate all members of "e" (StyleChangedEventArgs) with real data.
-            e.StyleManager = Registry.GetManagedBaseHandleFromNativePtr(styleManager) as StyleManager;
-            e.StyleChange = styleChange;
-
-            if (_styleManagerStyleChangedEventHandler != null)
-            {
-                //Here we send all data to user event handlers.
-                _styleManagerStyleChangedEventHandler(this, e);
-            }
-        }
-
-        /// <summary>
-        /// Style changed event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class StyleChangedEventArgs : EventArgs
-        {
-            private StyleManager _styleManager;
-            private StyleChangeType _styleChange;
-
-            /// <summary>
-            /// StyleManager.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public StyleManager StyleManager
-            {
-                get
-                {
-                    return _styleManager;
-                }
-                set
-                {
-                    _styleManager = value;
-                }
-            }
-
-            /// <summary>
-            /// StyleChange - contains the style change information (default font changed or
-            /// default font size changed or theme has changed).<br />
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public StyleChangeType StyleChange
-            {
-                get
-                {
-                    return _styleChange;
-                }
-                set
-                {
-                    _styleChange = value;
-                }
-            }
-        }
     }
 }
old mode 100755 (executable)
new mode 100644 (file)
index 32fe091..52bfbea
@@ -27,105 +27,19 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class TTSPlayer : BaseHandle
     {
-        private static readonly TTSPlayer instance = TTSPlayer.Get();
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private StateChangedEventCallbackType _stateChangedEventCallback;
 
         internal TTSPlayer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.TtsPlayer_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal TTSPlayer() : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal TTSPlayer(TTSPlayer handle) : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_1(TTSPlayer.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void StateChangedEventCallbackType(TTSState prevState, TTSState nextState);
-        private event EventHandler<StateChangedEventArgs> _stateChangedEventHandler;
-
-        /// <summary>
-        /// State changed event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<StateChangedEventArgs> StateChanged
-        {
-            add
-            {
-                if (_stateChangedEventHandler == null)
-                {
-                    _stateChangedEventCallback = OnStateChanged;
-                    StateChangedSignal().Connect(_stateChangedEventCallback);
-                }
-
-                _stateChangedEventHandler += value;
-            }
-            remove
-            {
-                _stateChangedEventHandler -= value;
-
-                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false && _stateChangedEventCallback != null)
-                {
-                    StateChangedSignal().Disconnect(_stateChangedEventCallback);
-                }
-            }
-        }
-
-        /// <summary>
-        /// Enumeration for the instance of TTS mode.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TTSMode
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
         {
-            /// <summary>
-            /// Default mode for normal application.
-            /// </summary>
-            Default = 0,
-            /// <summary>
-            /// Notification mode, such as playing utterance is started or completed.
-            /// </summary>
-            Notification,
-            /// <summary>
-            /// Screen reader mode. <br />
-            /// To help visually impaired users interact with their devices,<br />
-            /// screen reader reads text or graphic elements on the screen using the TTS engine.
-            /// </summary>
-            ScreenReader,
-            /// <summary>
-            /// Number of mode.
-            /// </summary>
-            ModeNum
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// Enumeration for the instance of TTS state.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TTSState
-        {
-            /// <summary>
-            /// Player is not available.
-            /// </summary>
-            Unavailable = 0,
-            /// <summary>
-            /// Player is ready to play.
-            /// </summary>
-            Ready,
-            /// <summary>
-            /// Player is playing.
-            /// </summary>
-            Playing,
-            /// <summary>
-            /// Player is paused.
-            /// </summary>
-            Paused
-        }
+        private static readonly TTSPlayer instance = TTSPlayer.Get();
 
         /// <summary>
         /// Gets the singleton of the TTSPlayer object.
@@ -139,6 +53,11 @@ namespace Tizen.NUI
             }
         }
 
+        internal TTSPlayer() : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
         /// <summary>
         /// Gets the singleton of the TTS player for the given mode.
         /// </summary>
@@ -164,6 +83,18 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal TTSPlayer(TTSPlayer handle) : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_1(TTSPlayer.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal TTSPlayer Assign(TTSPlayer rhs)
+        {
+            TTSPlayer ret = new TTSPlayer(NDalicManualPINVOKE.TtsPlayer_Assign(swigCPtr, TTSPlayer.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Starts playing the audio data synthesized from the specified text.
         /// </summary>
@@ -222,23 +153,63 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
+        /// <summary>
+        /// State changed argument.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class StateChangedEventArgs : EventArgs
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+            /// <summary>
+            /// PrevState.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState PrevState
+            {
+                get;
+                set;
+            }
 
-        internal StateChangedSignalType StateChangedSignal()
-        {
-            StateChangedSignalType ret = new StateChangedSignalType(NDalicManualPINVOKE.TtsPlayer_StateChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// NextState.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState NextState
+            {
+                get;
+                set;
+            }
         }
 
-        internal TTSPlayer Assign(TTSPlayer rhs)
+        private StateChangedEventCallbackType _stateChangedEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void StateChangedEventCallbackType(TTSState prevState, TTSState nextState);
+        private event EventHandler<StateChangedEventArgs> _stateChangedEventHandler;
+
+        /// <summary>
+        /// State changed event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<StateChangedEventArgs> StateChanged
         {
-            TTSPlayer ret = new TTSPlayer(NDalicManualPINVOKE.TtsPlayer_Assign(swigCPtr, TTSPlayer.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            add
+            {
+                if (_stateChangedEventHandler == null)
+                {
+                    _stateChangedEventCallback = OnStateChanged;
+                    StateChangedSignal().Connect(_stateChangedEventCallback);
+                }
+
+                _stateChangedEventHandler += value;
+            }
+            remove
+            {
+                _stateChangedEventHandler -= value;
+
+                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false && _stateChangedEventCallback != null)
+                {
+                    StateChangedSignal().Disconnect(_stateChangedEventCallback);
+                }
+            }
         }
 
         private void OnStateChanged(TTSState prevState, TTSState nextState)
@@ -254,32 +225,63 @@ namespace Tizen.NUI
             }
         }
 
+        internal StateChangedSignalType StateChangedSignal()
+        {
+            StateChangedSignalType ret = new StateChangedSignalType(NDalicManualPINVOKE.TtsPlayer_StateChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
-        /// State changed argument.
+        /// Enumeration for the instance of TTS mode.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class StateChangedEventArgs : EventArgs
+        public enum TTSMode
         {
             /// <summary>
-            /// PrevState.
+            /// Default mode for normal application.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState PrevState
-            {
-                get;
-                set;
-            }
+            Default = 0,
+            /// <summary>
+            /// Notification mode, such as playing utterance is started or completed.
+            /// </summary>
+            Notification,
+            /// <summary>
+            /// Screen reader mode. <br />
+            /// To help visually impaired users interact with their devices,<br />
+            /// screen reader reads text or graphic elements on the screen using the TTS engine.
+            /// </summary>
+            ScreenReader,
+            /// <summary>
+            /// Number of mode.
+            /// </summary>
+            ModeNum
+        }
 
+        /// <summary>
+        /// Enumeration for the instance of TTS state.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum TTSState
+        {
             /// <summary>
-            /// NextState.
+            /// Player is not available.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState NextState
-            {
-                get;
-                set;
-            }
+            Unavailable = 0,
+            /// <summary>
+            /// Player is ready to play.
+            /// </summary>
+            Ready,
+            /// <summary>
+            /// Player is playing.
+            /// </summary>
+            Playing,
+            /// <summary>
+            /// Player is paused.
+            /// </summary>
+            Paused
         }
+
     }
 
 }
index d5de499..2ef9c7a 100755 (executable)
@@ -26,18 +26,62 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Creates a TapGesture.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TapGesture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
+
+        /// <summary>
+        /// Gets the TapGesture from the pointer.
+        /// </summary>
+        /// <param name="cPtr">The pointer to cast.</param>
+        /// <returns>The TapGesture object.</returns>
+        internal static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            TapGesture ret = new TapGesture(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -88,6 +132,16 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// Creates a TapGesture.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+
         private uint numberOfTaps
         {
             set
@@ -150,57 +204,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGesture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Gets the TapGesture from the pointer.
-        /// </summary>
-        /// <param name="cPtr">The pointer to cast.</param>
-        /// <returns>The TapGesture object.</returns>
-        internal static TapGesture GetTapGestureFromPtr(global::System.IntPtr cPtr)
-        {
-            TapGesture ret = new TapGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TapGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
 
 }
\ No newline at end of file
index 7850859..460cf20 100755 (executable)
@@ -31,39 +31,107 @@ namespace Tizen.NUI
     public class TapGestureDetector : GestureDetector
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private DaliEventHandler<object, DetectedEventArgs> _tapGestureEventHandler;
-        private DetectedCallbackDelegate _tapGestureCallbackDelegate;
+
+        internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGestureDetector obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         /// <summary>
-        /// Creates an initialized TapGestureDetector.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public TapGestureDetector() : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TapGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
 
+            base.Dispose(type);
         }
 
         /// <summary>
-        /// Creates an initialized TapGestureDetector with the specified parameters.
+        /// Event arguments that are passed via the TapGestureEvent signal.
         /// </summary>
-        /// <param name="tapsRequired">The minimum and maximum number of taps required</param>
+        /// <since_tizen> 5 </since_tizen>
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public TapGestureDetector(uint tapsRequired) : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true)
+        public class DetectedEventArgs : EventArgs
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            private View _view;
+            private TapGesture _tapGesture;
 
-        }
+            /// <summary>
+            /// The attached view.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public View View
+            {
+                get
+                {
+                    return _view;
+                }
+                set
+                {
+                    _view = value;
+                }
+            }
 
-        internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            /// <summary>
+            /// The TapGesture.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+            [EditorBrowsable(EditorBrowsableState.Never)]
+            public TapGesture TapGesture
+            {
+                get
+                {
+                    return _tapGesture;
+                }
+                set
+                {
+                    _tapGesture = value;
+                }
+            }
         }
 
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void DetectedCallbackDelegate(IntPtr actor, IntPtr TapGesture);
+        private DaliEventHandler<object, DetectedEventArgs> _tapGestureEventHandler;
+        private DetectedCallbackDelegate _tapGestureCallbackDelegate;
 
         /// <summary>
         /// This signal is emitted when the specified tap is detected on the attached view.
@@ -101,6 +169,59 @@ namespace Tizen.NUI
             }
         }
 
+        private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
+        {
+            DetectedEventArgs e = new DetectedEventArgs();
+
+            // Populate all members of "e" (DetectedEventArgs) with real data
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
+            e.TapGesture = Tizen.NUI.TapGesture.GetTapGestureFromPtr(tapGesture);
+
+            if (_tapGestureEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _tapGestureEventHandler(this, e);
+            }
+
+        }
+
+        internal static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr)
+        {
+            TapGestureDetector ret = new TapGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Creates an initialized TapGestureDetector.
+        /// </summary>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public TapGestureDetector() : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        /// <summary>
+        /// Creates an initialized TapGestureDetector with the specified parameters.
+        /// </summary>
+        /// <param name="tapsRequired">The minimum & maximum number of taps required</param>
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public TapGestureDetector(uint tapsRequired) : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+        }
+
+        internal new static TapGestureDetector DownCast(BaseHandle handle)
+        {
+            TapGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as TapGestureDetector;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// The copy constructor.
         /// </summary>
@@ -112,6 +233,13 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal TapGestureDetector Assign(TapGestureDetector rhs)
+        {
+            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_Assign(swigCPtr, TapGestureDetector.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Sets the minimum number of taps required. The tap count is the number of times a user should "tap" the screen.<br />
         /// The default is 1.<br />
@@ -164,25 +292,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal new static TapGestureDetector DownCast(BaseHandle handle)
-        {
-            TapGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as TapGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TapGestureDetector obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static TapGestureDetector GetTapGestureDetectorFromPtr(global::System.IntPtr cPtr)
-        {
-            TapGestureDetector ret = new TapGestureDetector(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal TapGestureDetectedSignal DetectedSignal()
         {
             TapGestureDetectedSignal ret = new TapGestureDetectedSignal(NDalicPINVOKE.TapGestureDetector_DetectedSignal(swigCPtr), false);
@@ -190,114 +299,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal TapGestureDetector Assign(TapGestureDetector rhs)
-        {
-            TapGestureDetector ret = new TapGestureDetector(NDalicPINVOKE.TapGestureDetector_Assign(swigCPtr, TapGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TapGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        private void OnTapGestureDetected(IntPtr actor, IntPtr tapGesture)
-        {
-            DetectedEventArgs e = new DetectedEventArgs();
-
-            // Populate all members of "e" (DetectedEventArgs) with real data
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(actor) as View;
-            e.TapGesture = Tizen.NUI.TapGesture.GetTapGestureFromPtr(tapGesture);
-
-            if (_tapGestureEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _tapGestureEventHandler(this, e);
-            }
-
-        }
-
-        /// <summary>
-        /// Event arguments that are passed via the TapGestureEvent signal.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public class DetectedEventArgs : EventArgs
-        {
-            private View _view;
-            private TapGesture _tapGesture;
-
-            /// <summary>
-            /// The attached view.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public View View
-            {
-                get
-                {
-                    return _view;
-                }
-                set
-                {
-                    _view = value;
-                }
-            }
-
-            /// <summary>
-            /// The TapGesture.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-            [EditorBrowsable(EditorBrowsableState.Never)]
-            public TapGesture TapGesture
-            {
-                get
-                {
-                    return _tapGesture;
-                }
-                set
-                {
-                    _tapGesture = value;
-                }
-            }
-        }
     }
 
 }
index 3aebbcc..89729b0 100755 (executable)
@@ -25,6 +25,52 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal Texture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Texture_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Texture obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Texture(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Creates a new Texture object.
         /// </summary>
@@ -44,11 +90,6 @@ namespace Tizen.NUI
 
         }
 
-        internal Texture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Texture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// Uploads data to the texture from a PixelData object.
         /// </summary>
@@ -116,47 +157,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Texture obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Texture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index 4fdf1e7..949dece 100755 (executable)
@@ -28,19 +28,60 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextureSet obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
         /// <summary>
-        /// Create an instance of TextureSet.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public TextureSet() : this(NDalicPINVOKE.TextureSet_New(), true)
+        protected override void Dispose(DisposeTypes type)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
 
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TextureSet(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
         }
 
-        internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Create an instance of TextureSet.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public TextureSet() : this(NDalicPINVOKE.TextureSet_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
         /// <summary>
@@ -117,46 +158,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TextureSet obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TextureSet(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
     }
 
 }
\ No newline at end of file
index f07f174..daffa3e 100755 (executable)
@@ -35,28 +35,8 @@ namespace Tizen.NUI
     public class Timer : BaseHandle
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private bool played = false;
-        private EventHandlerWithReturnType<object, TickEventArgs, bool> _timerTickEventHandler;
-        private TickCallbackDelegate _timerTickCallbackDelegate;
-
-        private System.IntPtr _timerTickCallbackOfNative;
-
-        /// <summary>
-        /// Creates a tick timer that emits periodic signal.
-        /// </summary>
-        /// <param name="milliSec">Interval in milliseconds.</param>
-        /// <returns>A new timer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Timer(uint milliSec) : this(NDalicPINVOKE.Timer_New(milliSec), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})  Timer({milliSec}) Constructor!");
-        }
-        internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        private bool played = false;
 
         internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
         {
@@ -76,8 +56,69 @@ namespace Tizen.NUI
             NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() distructor!, disposed={disposed}");
         }
 
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            NUILog.Debug($"(0x{swigCPtr.Handle:X}) Timer.Dispose(type={type}, disposed={disposed})");
+
+            if (this != null && _timerTickCallbackDelegate != null)
+            {
+                TickSignal().Disconnect(_timerTickCallbackOfNative);
+            }
+
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Timer(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            played = false;
+            base.Dispose(type);
+        }
+
+
+        /// <summary>
+        /// Event arguments that passed via the tick event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TickEventArgs : EventArgs
+        {
+        }
+
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate bool TickCallbackDelegate();
+        private EventHandlerWithReturnType<object, TickEventArgs, bool> _timerTickEventHandler;
+        private TickCallbackDelegate _timerTickCallbackDelegate;
+
+        private System.IntPtr _timerTickCallbackOfNative;
 
         /// <summary>
         /// @brief Event for the ticked signal, which can be used to subscribe or unsubscribe the event handler
@@ -104,23 +145,39 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Gets/Sets the interval of the timer.
-        /// </summary>
-        /// <remarks>For setter, this sets a new interval on the timer and starts the timer. <br />
-        /// Cancels the previous timer.
-        /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public uint Interval
+        private bool OnTick()
         {
-            get
+            TickEventArgs e = new TickEventArgs();
+
+            if (played == false)
             {
-                return GetInterval();
+                Tizen.Log.Fatal("NUI", $"(0x{swigCPtr.Handle:X}) OnTick() is called even played is false!");
+                //throw new System.InvalidOperationException($"OnTick() excpetion!");
             }
-            set
+
+            if (_timerTickEventHandler != null && played == true)
             {
-                SetInterval(value);
+                //here we send all data to user event handlers
+                return _timerTickEventHandler(this, e);
             }
+            return false;
+        }
+
+        /// <summary>
+        /// Creates a tick timer that emits periodic signal.
+        /// </summary>
+        /// <param name="milliSec">Interval in milliseconds.</param>
+        /// <returns>A new timer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Timer(uint milliSec) : this(NDalicPINVOKE.Timer_New(milliSec), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})  Timer({milliSec}) Constructor!");
+        }
+        internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -149,20 +206,22 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Tells whether the timer is running.
+        /// Gets/Sets the interval of the timer.
         /// </summary>
-        /// <returns>Whether the timer is started or not.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsRunning()
-        {
-            bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+        /// <remarks>For setter, this sets a new interval on the timer and starts the timer. <br />
+        /// Cancels the previous timer.
+        /// </remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public uint Interval
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            get
+            {
+                return GetInterval();
+            }
+            set
+            {
+                SetInterval(value);
+            }
         }
 
         /// <summary>
@@ -187,81 +246,25 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal TimerSignalType TickSignal()
-        {
-            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Tells whether the timer is running.
         /// </summary>
+        /// <returns>Whether the timer is started or not.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public bool IsRunning()
         {
-            NUILog.Debug($"(0x{swigCPtr.Handle:X}) Timer.Dispose(type={type}, disposed={disposed})");
-
-            if (this != null && _timerTickCallbackDelegate != null)
-            {
-                TickSignal().Disconnect(_timerTickCallbackOfNative);
-            }
-
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Timer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            played = false;
-            base.Dispose(type);
+            bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private bool OnTick()
+        internal TimerSignalType TickSignal()
         {
-            TickEventArgs e = new TickEventArgs();
-
-            if (played == false)
-            {
-                Tizen.Log.Fatal("NUI", $"(0x{swigCPtr.Handle:X}) OnTick() is called even played is false!");
-                //throw new System.InvalidOperationException($"OnTick() excpetion!");
-            }
-
-            if (_timerTickEventHandler != null && played == true)
-            {
-                //here we send all data to user event handlers
-                return _timerTickEventHandler(this, e);
-            }
-            return false;
+            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Event arguments that passed via the tick event.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TickEventArgs : EventArgs
-        {
-        }
     }
 
 }
index b5b6972..8944ea9 100755 (executable)
@@ -30,6 +30,64 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Touch(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+
+        internal static Touch GetTouchFromPtr(global::System.IntPtr cPtr)
+        {
+            Touch ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Touch;
+            if (ret == null)
+            {
+                ret = new Touch(cPtr, false);
+            }
+
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// An uninitialized touch instance.<br />
         /// Calling member functions with an uninitialized touch handle is not allowed.<br />
@@ -45,11 +103,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Touch(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Touch_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// Returns the time (in ms) that the touch event occurred.
         /// </summary>
@@ -202,6 +255,13 @@ namespace Tizen.NUI
             return ret;
         }
 
+        internal Degree GetAngle(uint point)
+        {
+            Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get mouse device's button value (for example, right or left button)
         /// </summary>
@@ -217,65 +277,6 @@ namespace Tizen.NUI
             return (MouseButton)ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Touch obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Touch GetTouchFromPtr(global::System.IntPtr cPtr)
-        {
-            Touch ret = Registry.GetManagedBaseHandleFromNativePtr(cPtr) as Touch;
-            if (ret == null)
-            {
-                ret = new Touch(cPtr, false);
-            }
-
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Degree GetAngle(uint point)
-        {
-            Degree ret = new Degree(NDalicPINVOKE.Touch_GetAngle(swigCPtr, point), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Touch(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
     /// <summary>
index 6eaf34d..e1ec255 100755 (executable)
@@ -25,6 +25,53 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal TransitionData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TransitionData_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TransitionData obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TransitionData(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Create an instance of TransitionData.
         /// </summary>
@@ -57,11 +104,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal TransitionData(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TransitionData_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// returns the count of the individual property transitions stored within this handle.
         /// </summary>
@@ -87,48 +129,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TransitionData obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TransitionData(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index 0155c42..ae47d52 100755 (executable)
@@ -26,6 +26,53 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal TypeInfo(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TypeInfo_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TypeInfo obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_TypeInfo(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Creates TypeInfo object.
         /// </summary>
@@ -45,11 +92,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal TypeInfo(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TypeInfo_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
         /// <summary>
         /// Retrieves the type name for this type.
         /// </summary>
@@ -112,48 +154,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TypeInfo obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_TypeInfo(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
     }
 
 }
\ No newline at end of file
index 5bf3228..888f39f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -27,20 +27,207 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector2TypeConverter))]
     public class Vector2 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector2()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator +(Vector2 arg1, Vector2 arg2)
+        {
+            return arg1.Add(arg2);
+        }
+
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator -(Vector2 arg1, Vector2 arg2)
+        {
+            return arg1.Subtract(arg2);
+        }
+
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containing the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator -(Vector2 arg1)
+        {
+            return arg1.Subtract();
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator *(Vector2 arg1, Vector2 arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// Th multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator *(Vector2 arg1, float arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator /(Vector2 arg1, Vector2 arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// Th division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector2 operator /(Vector2 arg1, float arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// The array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
+        {
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
+
+        internal static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr)
+        {
+            Vector2 ret = new Vector2(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
         /// <summary>
         /// The default constructor initializes the vector to 0.
@@ -92,25 +279,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector2(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector2()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
         /// <summary>
         /// (1.0f,1.0f).
         /// </summary>
@@ -201,177 +369,116 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
+        private Vector2 Add(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The width.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Width
+        private Vector2 AddAssign(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
+        private Vector2 Subtract(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The height.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Height
+        private Vector2 SubtractAssign(Vector2 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        private Vector2 Multiply(Vector2 rhs)
         {
-            get
-            {
-                return ValueOfIndex(index);
-            }
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator +(Vector2 arg1, Vector2 arg2)
+        private Vector2 Multiply(float rhs)
         {
-            return arg1.Add(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator -(Vector2 arg1, Vector2 arg2)
+        private Vector2 MultiplyAssign(Vector2 rhs)
         {
-            return arg1.Subtract(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containing the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator -(Vector2 arg1)
+        private Vector2 MultiplyAssign(float rhs)
         {
-            return arg1.Subtract();
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator *(Vector2 arg1, Vector2 arg2)
+        private Vector2 Divide(Vector2 rhs)
         {
-            return arg1.Multiply(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Th multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator *(Vector2 arg1, float arg2)
+        private Vector2 Divide(float rhs)
         {
-            return arg1.Multiply(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator /(Vector2 arg1, Vector2 arg2)
+        private Vector2 DivideAssign(Vector2 rhs)
         {
-            return arg1.Divide(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Th division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector2 operator /(Vector2 arg1, float arg2)
+        private Vector2 DivideAssign(float rhs)
         {
-            return arg1.Divide(arg2);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector2 Subtract()
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector2 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector2 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -391,16 +498,6 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the the hash code of this Vector2.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
         /// Returns the length of the vector.
         /// </summary>
         /// <returns>The length of the vector.</returns>
@@ -448,41 +545,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        internal static Vector2 GetVector2FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector2 ret = new Vector2(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector2 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         internal SWIGTYPE_p_float AsFloat()
         {
             global::System.IntPtr cPtr = NDalicPINVOKE.Vector2_AsFloat__SWIG_0(swigCPtr);
@@ -492,150 +554,79 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float X
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
-        }
-
-        private Vector2 Add(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 AddAssign(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Subtract(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 SubtractAssign(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_SubtractAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Multiply(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Multiply(float rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 MultiplyAssign(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 MultiplyAssign(float rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        private Vector2 Divide(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Divide(float rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 DivideAssign(Vector2 rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 DivideAssign(float rhs)
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector2 Subtract()
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool EqualTo(Vector2 rhs)
+        /// <summary>
+        /// The width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Width
         {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private bool NotEqualTo(Vector2 rhs)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
         {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        private float ValueOfIndex(uint index)
+        /// <summary>
+        /// The height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Height
         {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                NDalicPINVOKE.Vector2_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector2_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
     }
index 764085c..6ecd903 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -27,19 +27,207 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector3TypeConverter))]
     public class Vector3 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
+
+        internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector3()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
+        {
+            return arg1.Add(arg2);
+        }
+
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
+        {
+            return arg1.Subtract(arg2);
+        }
+
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containg the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator -(Vector3 arg1)
+        {
+            return arg1.Subtract();
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator *(Vector3 arg1, float arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of the scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector3 operator /(Vector3 arg1, float arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// An array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
+        {
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
+
+        internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
+        {
+            Vector3 ret = new Vector3(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
         /// <summary>
         /// The constructor.
@@ -92,25 +280,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector3(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector3()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
         /// <summary>
         /// (1.0f,1.0f,1.0f).
         /// </summary>
@@ -231,581 +400,404 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
+        private Vector3 Add(Vector3 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The width component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Width
+        private Vector3 AddAssign(Vector3 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The red component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float R
+        private Vector3 Subtract(Vector3 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 SubtractAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Multiply(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Multiply(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 MultiplyAssign(Rotation rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Divide(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Divide(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 DivideAssign(Vector3 rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 DivideAssign(float rhs)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector3 Subtract()
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector3 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector3 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector3 other)
+        {
+            float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Vector3 Cross(Vector3 other)
+        {
+            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Vector3 vector3 = obj as Vector3;
+            bool equal = false;
+            if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
             {
-                float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                equal = true;
             }
+            return equal;
         }
 
         /// <summary>
-        /// The y component.
+        /// Returns the length of the vector.
         /// </summary>
+        /// <returns>The length of the vector.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float Y
+        public float Length()
+        {
+            float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns the length of the vector squared.<br />
+        /// This is more efficient than Length() for threshold
+        /// testing as it avoids the use of a square root.<br />
+        /// </summary>
+        /// <returns>The length of the vector squared.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float LengthSquared()
+        {
+            float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Sets the vector to be unit length, whilst maintaining its direction.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Normalize()
+        {
+            NDalicPINVOKE.Vector3_Normalize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clamps the vector between minimum and maximum vectors.
+        /// </summary>
+        /// <param name="min">The minimum vector.</param>
+        /// <param name="max">The maximum vector.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Clamp(Vector3 min, Vector3 max)
+        {
+            NDalicPINVOKE.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal SWIGTYPE_p_float AsFloat()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
+            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns the x and y components (or width and height, or r and g) as a Vector2.
+        /// </summary>
+        /// <returns>The partial vector contents as Vector2 (x,y).</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 GetVectorXY()
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
+        /// </summary>
+        /// <returns>The partial vector contents as Vector2 (y,z).</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 GetVectorYZ()
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
             set
             {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The height component.
+        /// The width component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Height
+        public float Width
         {
             set
             {
-                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The green component.
+        /// The red component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float G
+        public float R
         {
             set
             {
-                NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_r_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_r_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        public float Y
         {
             set
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The depth component.
+        /// The height component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Depth
+        public float Height
         {
             set
             {
-                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_Height_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The blue component.
+        /// The green component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float B
+        public float G
         {
             set
             {
-                NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
+                NDalicPINVOKE.Vector3_g_set(swigCPtr, value);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
+                float ret = NDalicPINVOKE.Vector3_g_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// An array subscript operator overload.
+        /// The z component.
         /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
+        public float Z
         {
-            get
+            set
             {
-                return ValueOfIndex(index);
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
-
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator +(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator -(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containg the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator -(Vector3 arg1)
-        {
-            return arg1.Subtract();
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator *(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator *(Vector3 arg1, float arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator /(Vector3 arg1, Vector3 arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of the scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector3 operator /(Vector3 arg1, float arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Vector3 vector3 = obj as Vector3;
-            bool equal = false;
-            if (X == vector3?.X && Y == vector3?.Y && Z == vector3?.Z)
+            get
             {
-                equal = true;
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Vector3.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
-        /// Returns the length of the vector.
-        /// </summary>
-        /// <returns>The length of the vector.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float Length()
-        {
-            float ret = NDalicPINVOKE.Vector3_Length(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns the length of the vector squared.<br />
-        /// This is more efficient than Length() for threshold
-        /// testing as it avoids the use of a square root.<br />
-        /// </summary>
-        /// <returns>The length of the vector squared.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float LengthSquared()
-        {
-            float ret = NDalicPINVOKE.Vector3_LengthSquared(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets the vector to be unit length, whilst maintaining its direction.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Normalize()
-        {
-            NDalicPINVOKE.Vector3_Normalize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Clamps the vector between minimum and maximum vectors.
-        /// </summary>
-        /// <param name="min">The minimum vector.</param>
-        /// <param name="max">The maximum vector.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clamp(Vector3 min, Vector3 max)
-        {
-            NDalicPINVOKE.Vector3_Clamp(swigCPtr, Vector3.getCPtr(min), Vector3.getCPtr(max));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Returns the x and y components (or width and height, or r and g) as a Vector2.
-        /// </summary>
-        /// <returns>The partial vector contents as Vector2 (x,y).</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 GetVectorXY()
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorXY__SWIG_0(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns the y and z components (or height and depth, or g and b) as a Vector2.
-        /// </summary>
-        /// <returns>The partial vector contents as Vector2 (y,z).</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 GetVectorYZ()
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector3_GetVectorYZ__SWIG_0(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
+        /// The depth component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float Depth
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector3_Depth_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector3_Depth_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector3 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Vector3 GetVector3FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector3 ret = new Vector3(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_float AsFloat()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Vector3_AsFloat__SWIG_0(swigCPtr);
-            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// Dispose.
+        /// The blue component.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float B
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                NDalicPINVOKE.Vector3_b_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                float ret = NDalicPINVOKE.Vector3_b_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
-        }
-
-        private Vector3 Add(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 AddAssign(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_AddAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Subtract(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 SubtractAssign(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_SubtractAssign(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Multiply(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Multiply(float rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 MultiplyAssign(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 MultiplyAssign(float rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 MultiplyAssign(Rotation rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_MultiplyAssign__SWIG_2(swigCPtr, Rotation.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Divide(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Divide(float rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 DivideAssign(Vector3 rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_0(swigCPtr, Vector3.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 DivideAssign(float rhs)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector3 Subtract()
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool EqualTo(Vector3 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Vector3.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool NotEqualTo(Vector3 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector3_NotEqualTo(swigCPtr, Vector3.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot(Vector3 other)
-        {
-            float ret = NDalicPINVOKE.Vector3_Dot(swigCPtr, Vector3.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Vector3 Cross(Vector3 other)
-        {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Cross(swigCPtr, Vector3.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
     }
index acb8ffe..d36215c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -27,21 +27,207 @@ namespace Tizen.NUI
     [TypeConverter(typeof(Vector4TypeConverter))]
     public class Vector4 : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+        /// <summary>
+        /// Destructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        ~Vector4()
+        {
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
+        {
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+        /// <summary>
+        /// The addition operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the addition.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Add(arg2);
+        }
+
+        /// <summary>
+        /// The subtraction operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the subtraction.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Subtract(arg2);
+        }
+
+        /// <summary>
+        /// The unary negation operator.
+        /// </summary>
+        /// <param name="arg1">The target value.</param>
+        /// <returns>The vector containing the negation.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator -(Vector4 arg1)
+        {
+            return arg1.Subtract();
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the multiplication.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The multiplication operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator *(Vector4 arg1, float arg2)
+        {
+            return arg1.Multiply(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The second value.</param>
+        /// <returns>The vector containing the result of the division.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// The division operator.
+        /// </summary>
+        /// <param name="arg1">The first value.</param>
+        /// <param name="arg2">The float value to scale the vector by.</param>
+        /// <returns>The vector containing the result of scaling.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public static Vector4 operator /(Vector4 arg1, float arg2)
+        {
+            return arg1.Divide(arg2);
+        }
+
+        /// <summary>
+        /// The array subscript operator overload.
+        /// </summary>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float this[uint index]
+        {
+            get
+            {
+                return ValueOfIndex(index);
+            }
+        }
+
+        internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
+        {
+            Vector4 ret = new Vector4(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
         /// <summary>
         /// The default constructor initializes the vector to 0.
@@ -95,25 +281,6 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector4(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~Vector4()
-        {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
         /// <summary>
         /// (1.0f,1.0f,1.0f,1.0f).
         /// </summary>
@@ -189,49 +356,262 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
+        private Vector4 Add(Vector4 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The red component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float R
+        private Vector4 AddAssign(Vector4 rhs)
         {
-            set
-            {
-                NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
-            {
-                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// The s component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float S
+        private Vector4 Subtract(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 SubtractAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Multiply(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Multiply(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 MultiplyAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 MultiplyAssign(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Divide(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Divide(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 DivideAssign(Vector4 rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 DivideAssign(float rhs)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private Vector4 Subtract()
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool EqualTo(Vector4 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private bool NotEqualTo(Vector4 rhs)
+        {
+            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        private float ValueOfIndex(uint index)
+        {
+            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector3 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot(Vector4 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal float Dot4(Vector4 other)
+        {
+            float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal Vector4 Cross(Vector4 other)
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Determines whether the specified object is equal to the current object.
+        /// </summary>
+        /// <param name="obj">The object to compare with the current object.</param>
+        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
+        public override bool Equals(System.Object obj)
+        {
+            Vector4 vector4 = obj as Vector4;
+            bool equal = false;
+            if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
+            {
+                equal = true;
+            }
+            return equal;
+        }
+
+        /// <summary>
+        /// Returns the length of the vector.
+        /// </summary>
+        /// <returns>The length.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float Length()
+        {
+            float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Returns the length of the vector squared.<br />
+        /// This is faster than using Length() when performing
+        /// threshold checks as it avoids use of the square root.<br />
+        /// </summary>
+        /// <returns>The length of the vector squared.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public float LengthSquared()
+        {
+            float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Normalizes the vector.<br />
+        /// Sets the vector to unit length whilst maintaining its direction.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Normalize()
+        {
+            NDalicPINVOKE.Vector4_Normalize(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Clamps the vector between minimum and maximum vectors.
+        /// </summary>
+        /// <param name="min">The minimum vector.</param>
+        /// <param name="max">The maximum vector.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Clamp(Vector4 min, Vector4 max)
+        {
+            NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal SWIGTYPE_p_float AsFloat()
+        {
+            global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
+            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The red component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float R
+        {
+            set
+            {
+                NDalicPINVOKE.Vector4_r_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
+            get
+            {
+                float ret = NDalicPINVOKE.Vector4_r_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        /// <summary>
+        /// The s component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float S
         {
             set
             {
@@ -417,397 +797,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The array subscript operator overload.
-        /// </summary>
-        /// <param name="index">The subscript index.</param>
-        /// <returns>The float at the given index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-
-        /// <summary>
-        /// The addition operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the addition.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator +(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Add(arg2);
-        }
-
-        /// <summary>
-        /// The subtraction operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the subtraction.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator -(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Subtract(arg2);
-        }
-
-        /// <summary>
-        /// The unary negation operator.
-        /// </summary>
-        /// <param name="arg1">The target value.</param>
-        /// <returns>The vector containing the negation.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator -(Vector4 arg1)
-        {
-            return arg1.Subtract();
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the multiplication.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator *(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The multiplication operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator *(Vector4 arg1, float arg2)
-        {
-            return arg1.Multiply(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The second value.</param>
-        /// <returns>The vector containing the result of the division.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator /(Vector4 arg1, Vector4 arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// The division operator.
-        /// </summary>
-        /// <param name="arg1">The first value.</param>
-        /// <param name="arg2">The float value to scale the vector by.</param>
-        /// <returns>The vector containing the result of scaling.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public static Vector4 operator /(Vector4 arg1, float arg2)
-        {
-            return arg1.Divide(arg2);
-        }
-
-        /// <summary>
-        /// Determines whether the specified object is equal to the current object.
-        /// </summary>
-        /// <param name="obj">The object to compare with the current object.</param>
-        /// <returns>true if the specified object is equal to the current object; otherwise, false.</returns>
-        public override bool Equals(System.Object obj)
-        {
-            Vector4 vector4 = obj as Vector4;
-            bool equal = false;
-            if (X == vector4?.X && Y == vector4?.Y && Z == vector4?.Z && W == vector4?.W)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <summary>
-        /// Gets the the hash code of this Vector4.
-        /// </summary>
-        /// <returns>The Hash Code.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public override int GetHashCode()
-        {
-            return base.GetHashCode();
-        }
-
-        /// <summary>
-        /// Returns the length of the vector.
-        /// </summary>
-        /// <returns>The length.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float Length()
-        {
-            float ret = NDalicPINVOKE.Vector4_Length(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Returns the length of the vector squared.<br />
-        /// This is faster than using Length() when performing
-        /// threshold checks as it avoids use of the square root.<br />
-        /// </summary>
-        /// <returns>The length of the vector squared.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public float LengthSquared()
-        {
-            float ret = NDalicPINVOKE.Vector4_LengthSquared(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Normalizes the vector.<br />
-        /// Sets the vector to unit length whilst maintaining its direction.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Normalize()
-        {
-            NDalicPINVOKE.Vector4_Normalize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Clamps the vector between minimum and maximum vectors.
-        /// </summary>
-        /// <param name="min">The minimum vector.</param>
-        /// <param name="max">The maximum vector.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Clamp(Vector4 min, Vector4 max)
-        {
-            NDalicPINVOKE.Vector4_Clamp(swigCPtr, Vector4.getCPtr(min), Vector4.getCPtr(max));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Vector4 obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Vector4 GetVector4FromPtr(global::System.IntPtr cPtr)
-        {
-            Vector4 ret = new Vector4(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_float AsFloat()
-        {
-            global::System.IntPtr cPtr = NDalicPINVOKE.Vector4_AsFloat__SWIG_0(swigCPtr);
-            SWIGTYPE_p_float ret = (cPtr == global::System.IntPtr.Zero) ? null : new SWIGTYPE_p_float(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot(Vector3 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_0(swigCPtr, Vector3.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot(Vector4 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot__SWIG_1(swigCPtr, Vector4.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal float Dot4(Vector4 other)
-        {
-            float ret = NDalicPINVOKE.Vector4_Dot4(swigCPtr, Vector4.getCPtr(other));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal Vector4 Cross(Vector4 other)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Cross(swigCPtr, Vector4.getCPtr(other)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <param name="type">The dispose type</param>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
-        }
-
-        private Vector4 Add(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 AddAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Subtract(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 SubtractAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_SubtractAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Multiply(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Multiply(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Multiply__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 MultiplyAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 MultiplyAssign(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Divide(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Divide(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 DivideAssign(Vector4 rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_0(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 DivideAssign(float rhs)
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private Vector4 Subtract()
-        {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool EqualTo(Vector4 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_EqualTo(swigCPtr, Vector4.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool NotEqualTo(Vector4 rhs)
-        {
-            bool ret = NDalicPINVOKE.Vector4_NotEqualTo(swigCPtr, Vector4.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private float ValueOfIndex(uint index)
-        {
-            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
     }
 
 }
\ No newline at end of file
index e404ce5..af4dc6d 100755 (executable)
@@ -25,20 +25,14 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ViewWrapper : View
     {
-        internal ViewWrapperImpl viewWrapperImpl;
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal ViewWrapperImpl viewWrapperImpl;
 
         internal ViewWrapper(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.ViewWrapper_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal ViewWrapper(string typeName, ViewWrapperImpl implementation) : this(NDalicManualPINVOKE.ViewWrapper_New(typeName, ViewWrapperImpl.getCPtr(implementation)), true)
-        {
-            viewWrapperImpl = implementation;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ViewWrapper obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
@@ -80,5 +74,12 @@ namespace Tizen.NUI
 
             base.Dispose(type);
         }
+
+
+        internal ViewWrapper(string typeName, ViewWrapperImpl implementation) : this(NDalicManualPINVOKE.ViewWrapper_New(typeName, ViewWrapperImpl.getCPtr(implementation)), true)
+        {
+            viewWrapperImpl = implementation;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
     }
 }
\ No newline at end of file
index f4a5a68..ef701cc 100755 (executable)
@@ -32,6 +32,52 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
+        internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_VisualBase(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
         /// <summary>
         /// Creates an empty visual handle.
         /// </summary>
@@ -45,10 +91,6 @@ namespace Tizen.NUI
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-        internal VisualBase(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualBase_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
 
         /// <summary>
         /// The name of the visual.
@@ -66,34 +108,17 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// The depth index of this visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int DepthIndex
+        internal void SetName(string name)
         {
-            set
-            {
-                SetDepthIndex(value);
-            }
-            get
-            {
-                return GetDepthIndex();
-            }
+            NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Creates the property map representing this visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Creation
+        internal string GetName()
         {
-            get
-            {
-                PropertyMap map = new PropertyMap();
-                CreatePropertyMap(map);
-                return map;
-            }
+            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -147,24 +172,21 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal void SetName(string name)
-        {
-            NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal string GetName()
+        /// <summary>
+        /// The depth index of this visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int DepthIndex
         {
-            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                SetDepthIndex(value);
+            }
+            get
+            {
+                return GetDepthIndex();
+            }
         }
-
         internal void SetDepthIndex(int index)
         {
             NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
@@ -178,46 +200,24 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal void CreatePropertyMap(PropertyMap map)
-        {
-            NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
         /// <summary>
-        /// Dispose.
+        /// Creates the property map representing this visual.
         /// </summary>
-        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public PropertyMap Creation
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_VisualBase(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                PropertyMap map = new PropertyMap();
+                CreatePropertyMap(map);
+                return map;
             }
+        }
 
-            base.Dispose(type);
+        internal void CreatePropertyMap(PropertyMap map)
+        {
+            NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
     }
index 7e0b0f5..0c1e066 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright(c) 2017 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.
@@ -27,11 +27,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualFactory : BaseHandle
     {
-
-        /// <summary>
-        /// Instance of the VisualFactory singleton.
-        /// </summary>
-        private static VisualFactory instance = null;
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         internal VisualFactory(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.VisualFactory_SWIGUpcast(cPtr), cMemoryOwn)
@@ -39,27 +34,9 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Retrieves the VisualFactory singleton.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static VisualFactory Instance
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
         {
-            get
-            {
-                if (!instance)
-                {
-                    instance = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
-                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                }
-
-                return instance;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
@@ -73,9 +50,17 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static VisualFactory Get()
         {
-            return VisualFactory.Instance;
+            VisualFactory ret = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+
         /// <summary>
         /// Request the visual.
         /// </summary>
@@ -89,11 +74,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
         internal VisualBase CreateVisual(Image image)
         {
             VisualBase ret = new VisualBase(NDalicPINVOKE.VisualFactory_CreateVisual__SWIG_1(swigCPtr, Image.getCPtr(image)), true);
@@ -101,6 +81,20 @@ namespace Tizen.NUI
             return ret;
         }
 
+        private static readonly VisualFactory instance = VisualFactory.Get();
+
+        /// <summary>
+        /// Retrieves the VisualFactory singleton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static VisualFactory Instance
+        {
+            get
+            {
+                return instance;
+            }
+        }
+
     }
 
 }
\ No newline at end of file
index 36589c1..9d788e7 100755 (executable)
@@ -27,49 +27,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualMap
     {
-        /// <summary>
-        /// outputVisualMap.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _outputVisualMap = null;
-
-        /// <summary>
-        /// The shader of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _shader = null;
-        //private PropertyMap _transform = null;
-
-        /// <summary>
-        /// The premultipliedAlpha of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool? _premultipliedAlpha = null;
-
-        /// <summary>
-        /// The mixColor of the Visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected Color _mixColor = null;
-
-        /// <summary>
-        /// The opacity of the visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected float? _opacity = null;
-
-        /// <summary>
-        /// The FittingMode of the visual.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        protected VisualFittingModeType? _visualFittingMode = null;
-
-        /// <summary>
-        /// The map for visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected PropertyMap _commonlyUsedMap = null;
-
         private Vector2 _visualSize = null;
         private Vector2 _visualOffset = null;
         private Vector2 _visualOffsetPolicy = null;
@@ -82,6 +39,30 @@ namespace Tizen.NUI
         private int? _depthIndex = null;
 
         /// <summary>
+        /// outputVisualMap.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _outputVisualMap = null;
+
+        internal string Name
+        {
+            set;
+            get;
+        }
+
+        internal int VisualIndex
+        {
+            set;
+            get;
+        }
+
+        internal VisualView Parent
+        {
+            set;
+            get;
+        }
+
+        /// <summary>
         /// Constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -466,6 +447,17 @@ namespace Tizen.NUI
             }
         }
 
+        private void ComposingTransformMap()
+        {
+            _visualTransformMap = new PropertyMap();
+            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
+            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
+            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
+            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
+            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
+            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
+        }
+
         /// <summary>
         /// Gets the transform map used by the visual.
         /// </summary>
@@ -480,6 +472,15 @@ namespace Tizen.NUI
         }
 
         /// <summary>
+        /// Compose the out visual map.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void ComposingPropertyMap()
+        {
+            _outputVisualMap = new PropertyMap();
+        }
+
+        /// <summary>
         /// Gets the property map to create the visual.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
@@ -492,6 +493,55 @@ namespace Tizen.NUI
             }
         }
 
+        internal void UpdateVisual()
+        {
+            if (VisualIndex > 0)
+            {
+                NUILog.Debug("UpdateVisual()! VisualIndex=" + VisualIndex);
+                Parent.UpdateVisual(VisualIndex, Name, this);
+            }
+            else
+            {
+                NUILog.Debug("VisualIndex was not set");
+            }
+        }
+
+        /// <summary>
+        /// The shader of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _shader = null;
+        //private PropertyMap _transform = null;
+
+        /// <summary>
+        /// The premultipliedAlpha of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool? _premultipliedAlpha = null;
+
+        /// <summary>
+        /// The mixColor of the Visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected Color _mixColor = null;
+
+        /// <summary>
+        /// The opacity of the visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected float? _opacity = null;
+
+        /// <summary>
+        /// The FittingMode of the visual.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        protected VisualFittingModeType? _visualFittingMode = null;
+
+        /// <summary>
+        /// The map for visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected PropertyMap _commonlyUsedMap = null;
 
         /// <summary>
         /// The shader to use in the visual.
@@ -596,58 +646,6 @@ namespace Tizen.NUI
                 UpdateVisual();
             }
         }
-
-        internal string Name
-        {
-            set;
-            get;
-        }
-
-        internal int VisualIndex
-        {
-            set;
-            get;
-        }
-
-        internal VisualView Parent
-        {
-            set;
-            get;
-        }
-
-        internal void UpdateVisual()
-        {
-            if (VisualIndex > 0)
-            {
-                NUILog.Debug("UpdateVisual()! VisualIndex=" + VisualIndex);
-                Parent.UpdateVisual(VisualIndex, Name, this);
-            }
-            else
-            {
-                NUILog.Debug("VisualIndex was not set");
-            }
-        }
-
-        /// <summary>
-        /// Compose the out visual map.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void ComposingPropertyMap()
-        {
-            _outputVisualMap = new PropertyMap();
-        }
-
-        private void ComposingTransformMap()
-        {
-            _visualTransformMap = new PropertyMap();
-            if (_visualSize != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Size, new PropertyValue(_visualSize)); }
-            if (_visualOffset != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Offset, new PropertyValue(_visualOffset)); }
-            if (_visualOffsetPolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.OffsetPolicy, new PropertyValue(_visualOffsetPolicy)); }
-            if (_visualSizePolicy != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.SizePolicy, new PropertyValue(_visualSizePolicy)); }
-            if (_visualOrigin != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.Origin, new PropertyValue((int)_visualOrigin)); }
-            if (_visualAnchorPoint != null) { _visualTransformMap.Add((int)VisualTransformPropertyType.AnchorPoint, new PropertyValue((int)_visualAnchorPoint)); }
-        }
-
     }
 
     /// <summary>
@@ -656,6 +654,14 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ImageVisual : VisualMap
     {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ImageVisual() : base()
+        {
+        }
+
         private string _url = null;
         private string _alphaMaskUrl = null;
         private string _auxiliaryImageUrl = null;
@@ -677,14 +683,6 @@ namespace Tizen.NUI
         private bool? _atlasing = false;
 
         /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public ImageVisual() : base()
-        {
-        }
-
-        /// <summary>
         /// Gets or sets the URL of the image.<br />
         /// Mandatory.
         /// </summary>
@@ -1094,6 +1092,14 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class TextVisual : VisualMap
     {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public TextVisual() : base()
+        {
+        }
+
         private string _text = null;
         private string _fontFamily = null;
         private PropertyMap _fontStyle = null;
@@ -1109,14 +1115,6 @@ namespace Tizen.NUI
         private PropertyMap _background = null;
 
         /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public TextVisual() : base()
-        {
-        }
-
-        /// <summary>
         /// Gets or sets the text to display in the UTF-8 format.<br />
         /// Mandatory.
         /// </summary>
@@ -1451,10 +1449,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class BorderVisual : VisualMap
     {
-        private Color _color = null;
-        private float? _size = null;
-        private bool? _antiAliasing = null;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1463,6 +1457,10 @@ namespace Tizen.NUI
         {
         }
 
+        private Color _color = null;
+        private float? _size = null;
+        private bool? _antiAliasing = null;
+
         /// <summary>
         /// Gets or sets the color of the border.<br />
         /// Mandatory.
@@ -1546,9 +1544,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ColorVisual : VisualMap
     {
-        private Color _mixColorForColorVisual = null;
-        private bool? _renderIfTransparent = false;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1557,6 +1552,9 @@ namespace Tizen.NUI
         {
         }
 
+        private Color _mixColorForColorVisual = null;
+        private bool? _renderIfTransparent = false;
+
         /// <summary>
         /// Gets or sets the solid color required.<br />
         /// Mandatory.
@@ -1619,6 +1617,14 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class GradientVisual : VisualMap
     {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public GradientVisual() : base()
+        {
+        }
+
         private Vector2 _startPosition = null;
         private Vector2 _endPosition = null;
         private Vector2 _center = null;
@@ -1629,14 +1635,6 @@ namespace Tizen.NUI
         private GradientVisualSpreadMethodType? _spreadMethod = null;
 
         /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public GradientVisual() : base()
-        {
-        }
-
-        /// <summary>
         /// Gets or sets the start position of a linear gradient.<br />
         /// Mandatory for linear.<br />
         /// </summary>
@@ -1819,14 +1817,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class MeshVisual : VisualMap
     {
-        private string _objectURL = null;
-        private string _materialtURL = null;
-        private string _texturesPath = null;
-        private MeshVisualShadingModeValue? _shadingMode = null;
-        private bool? _useMipmapping = null;
-        private bool? _useSoftNormals = null;
-        private Vector3 _lightPosition = null;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1835,6 +1825,14 @@ namespace Tizen.NUI
         {
         }
 
+        private string _objectURL = null;
+        private string _materialtURL = null;
+        private string _texturesPath = null;
+        private MeshVisualShadingModeValue? _shadingMode = null;
+        private bool? _useMipmapping = null;
+        private bool? _useSoftNormals = null;
+        private Vector3 _lightPosition = null;
+
         /// <summary>
         /// Gets or sets the location of the ".obj" file.<br />
         /// Mandatory.
@@ -2000,6 +1998,14 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class PrimitiveVisual : VisualMap
     {
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PrimitiveVisual() : base()
+        {
+        }
+
         private PrimitiveVisualShapeType? _shape = null;
         private Color _mixColorForPrimitiveVisual = null;
         private int? _slices = null;
@@ -2014,14 +2020,6 @@ namespace Tizen.NUI
         private Vector3 _lightPosition = null;
 
         /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PrimitiveVisual() : base()
-        {
-        }
-
-        /// <summary>
         /// Gets or sets the specific shape to render.<br />
         /// If not specified, the default is PrimitiveVisualShapeType.Sphere.<br />
         /// Optional.
@@ -2315,10 +2313,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class NPatchVisual : VisualMap
     {
-        private string _url = null;
-        private bool? _borderOnly = null;
-        private Rectangle _border = null;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2327,6 +2321,10 @@ namespace Tizen.NUI
         {
         }
 
+        private string _url = null;
+        private bool? _borderOnly = null;
+        private Rectangle _border = null;
+
         /// <summary>
         /// Gets or sets the URL of the image.<br />
         /// Mandatory.
@@ -2412,8 +2410,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class SVGVisual : VisualMap
     {
-        private string _url = null;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2422,6 +2418,8 @@ namespace Tizen.NUI
         {
         }
 
+        private string _url = null;
+
         /// <summary>
         /// The url of the svg resource.
         /// </summary>
@@ -2465,12 +2463,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class AnimatedImageVisual : VisualMap
     {
-        private List<string> _urls = null;
-        private int? _batchSize = null;
-        private int? _cacheSize = null;
-        private float? _frameDelay = null;
-        private float? _loopCount = null;
-
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2479,6 +2471,12 @@ namespace Tizen.NUI
         {
         }
 
+        private List<string> _urls = null;
+        private int? _batchSize = null;
+        private int? _cacheSize = null;
+        private float? _frameDelay = null;
+        private float? _loopCount = null;
+
         /// <summary>
         /// Gets and Sets the url in the AnimatedImageVisual.
         /// </summary>
@@ -2641,13 +2639,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class VisualAnimator : VisualMap
     {
-        private string _alphaFunction = null;
-        private int _startTime = 0;
-        private int _endTime = 0;
-        private string _target = null;
-        private string _propertyIndex = null;
-        private object _destinationValue = null;
-
         /// <summary>
         /// Create VisualAnimator object.
         /// </summary>
@@ -2656,6 +2647,13 @@ namespace Tizen.NUI
         {
         }
 
+        private string _alphaFunction = null;
+        private int _startTime = 0;
+        private int _endTime = 0;
+        private string _target = null;
+        private string _propertyIndex = null;
+        private object _destinationValue = null;
+
         /// <summary>
         /// Sets and Gets the AlphaFunction of this transition.
         /// </summary>
index ee5c316..7c0f63d 100755 (executable)
@@ -26,47 +26,120 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class WatchTime : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool swigCMemOwn;
 
+        internal WatchTime(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WatchTime obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+
         /// <summary>
         /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
         protected bool disposed = false;
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
-
         /// <summary>
-        /// Constructor.
+        /// Distructor.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public WatchTime() : this(NDalicManualPINVOKE.new_WatchTime(), true)
+        ~WatchTime()
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
-        internal WatchTime(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <summary>
+        /// To make watch time instance be disposed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public void Dispose()
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
+            {
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Distructor.
+        /// you can override it to clean-up your own resources.
         /// </summary>
-        ~WatchTime()
+        /// <param name="type">DisposeTypes</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            if (!isDisposeQueued)
+            if (disposed)
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            disposed = true;
+        }
+
+        internal static WatchTime GetWatchTimeFromPtr(global::System.IntPtr cPtr)
+        {
+            WatchTime ret = new WatchTime(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public WatchTime() : this(NDalicManualPINVOKE.new_WatchTime(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -82,6 +155,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetHour()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetHour(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current hour24.
         /// </summary>
@@ -95,6 +175,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetHour24()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetHour24(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current minute.
         /// </summary>
@@ -108,6 +195,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetMinute()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMinute(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current second.
         /// </summary>
@@ -121,6 +215,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetSecond()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetSecond(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current millisecond.
         /// </summary>
@@ -134,6 +235,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetMillisecond()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMillisecond(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current year.
         /// </summary>
@@ -147,6 +255,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetYear()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetYear(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current month.
         /// </summary>
@@ -160,6 +275,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetMonth()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMonth(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current day.
         /// </summary>
@@ -173,6 +295,13 @@ namespace Tizen.NUI
             }
         }
 
+        internal int GetDay()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetDay(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         /// <summary>
         /// Get the current week.
         /// </summary>
@@ -186,72 +315,6 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Get the ID of timezone.
-        /// </summary>
-        /// <remarks>
-        /// The WatchTime needs to be initialized.<br/>
-        /// The timezone ID, according to the IANA(Internet Assigned Numbers Authority)<br/>
-        /// If you want to see more information, please refer to the site :<br/>
-        /// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones/
-        /// </remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public string TimeZone
-        {
-            get
-            {
-                return GetTimeZone();
-            }
-        }
-
-        /// <summary>
-        /// Get the daylight saving time status.
-        /// </summary>
-        /// <remarks>The WatchTime needs to be initialized.</remarks>
-        /// <since_tizen> 4 </since_tizen>
-        public bool DaylightSavingTimeStatus
-        {
-            get
-            {
-                return GetDaylightSavingTimeStatus();
-            }
-        }
-
-        /// <summary>
-        /// To make watch time instance be disposed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WatchTime obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static WatchTime GetWatchTimeFromPtr(global::System.IntPtr cPtr)
-        {
-            WatchTime ret = new WatchTime(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal int GetDayOfWeek()
         {
             int ret = NDalicManualPINVOKE.WatchTime_GetDayOfWeek(swigCPtr);
@@ -273,111 +336,49 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal string GetTimeZone()
-        {
-            string ret = NDalicManualPINVOKE.WatchTime_GetTimeZone(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal bool GetDaylightSavingTimeStatus()
-        {
-            bool ret = NDalicManualPINVOKE.WatchTime_GetDaylightSavingTimeStatus(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetHour()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetHour(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetHour24()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetHour24(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetMinute()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMinute(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetSecond()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetSecond(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetMillisecond()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMillisecond(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetYear()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetYear(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal int GetMonth()
+        /// <summary>
+        /// Get the ID of timezone.
+        /// </summary>
+        /// <remarks>
+        /// The WatchTime needs to be initialized.<br/>
+        /// The timezone ID, according to the IANA(Internet Assigned Numbers Authority)<br/>
+        /// If you want to see more information, please refer to the site :<br/>
+        /// https://en.wikipedia.org/wiki/List_of_tz_database_time_zones/
+        /// </remarks>
+        /// <since_tizen> 4 </since_tizen>
+        public string TimeZone
         {
-            int ret = NDalicManualPINVOKE.WatchTime_GetMonth(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetTimeZone();
+            }
         }
 
-        internal int GetDay()
+        internal string GetTimeZone()
         {
-            int ret = NDalicManualPINVOKE.WatchTime_GetDay(swigCPtr);
+            string ret = NDalicManualPINVOKE.WatchTime_GetTimeZone(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// you can override it to clean-up your own resources.
+        /// Get the daylight saving time status.
         /// </summary>
-        /// <param name="type">DisposeTypes</param>
+        /// <remarks>The WatchTime needs to be initialized.</remarks>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public bool DaylightSavingTimeStatus
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                return GetDaylightSavingTimeStatus();
             }
+        }
 
-            disposed = true;
+        internal bool GetDaylightSavingTimeStatus()
+        {
+            bool ret = NDalicManualPINVOKE.WatchTime_GetDaylightSavingTimeStatus(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
     }
index ae18c53..3898712 100755 (executable)
@@ -27,83 +27,110 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Wheel : global::System.IDisposable
     {
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
         /// swigCMemOwn.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        /// <summary>
-        /// A Flat to check if it is already disposed.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
 
         //A Flag to check who called Dispose(). (By User or DisposeQueue)
         private bool isDisposeQueued = false;
 
         /// <summary>
-        /// The default constructor.
+        /// A Flat to check if it is already disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        protected bool disposed = false;
 
         /// <summary>
-        /// The constructor.
+        /// Destructor.
         /// </summary>
-        /// <param name="type">The type of the wheel event.</param>
-        /// <param name="direction">The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel).</param>
-        /// <param name="modifiers">Modifier keys pressed during the event (such as Shift, Alt, and Ctrl).</param>
-        /// <param name="point">The coordinates of the cursor relative to the top-left of the screen.</param>
-        /// <param name="z">The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise).</param>
-        /// <param name="timeStamp">The time the wheel is being rolled.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
+        ~Wheel()
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
-        /// Destructor.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Wheel()
+        public void Dispose()
         {
-            if(!isDisposeQueued)
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// The type of the wheel event.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The type dispose, it could be from user, or called by DisposeQueue.</param>
         /// <since_tizen> 3 </since_tizen>
-        public enum WheelType
+        protected virtual void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Mouse wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            MouseWheel,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// Custom wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CustomWheel
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Wheel(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
+
+
+        internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
+        {
+            Wheel ret = new Wheel(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
@@ -178,6 +205,66 @@ namespace Tizen.NUI
             }
         }
 
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <param name="type">The type of the wheel event.</param>
+        /// <param name="direction">The direction of wheel rolling (0 = default vertical wheel, 1 = horizontal wheel).</param>
+        /// <param name="modifiers">Modifier keys pressed during the event (such as Shift, Alt, and Ctrl).</param>
+        /// <param name="point">The coordinates of the cursor relative to the top-left of the screen.</param>
+        /// <param name="z">The offset of rolling (positive value means roll down or clockwise, and negative value means roll up or counter-clockwise).</param>
+        /// <param name="timeStamp">The time the wheel is being rolled.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public Wheel(Wheel.WheelType type, int direction, uint modifiers, Vector2 point, int z, uint timeStamp) : this(NDalicPINVOKE.new_Wheel__SWIG_1((int)type, direction, modifiers, Vector2.getCPtr(point), z, timeStamp), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Checks to see if the Shift key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Shift modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsShiftModifier()
+        {
+            bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Ctrl (control) key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Ctrl modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsCtrlModifier()
+        {
+            bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Checks to see if Alt key modifier has been supplied.
+        /// </summary>
+        /// <returns>True if Alt modifier.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsAltModifier()
+        {
+            bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         private Wheel.WheelType type
         {
             set
@@ -269,111 +356,23 @@ namespace Tizen.NUI
             }
         }
 
-
         /// <summary>
-        /// Checks to see if the Shift key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Shift modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsShiftModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Ctrl (control) key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Ctrl modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsCtrlModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsCtrlModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Checks to see if Alt key modifier has been supplied.
-        /// </summary>
-        /// <returns>True if Alt modifier.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsAltModifier()
-        {
-            bool ret = NDalicPINVOKE.Wheel_IsAltModifier(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
-        {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
-            {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
-
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Wheel obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
-        {
-            Wheel ret = new Wheel(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Dispose.
+        /// The type of the wheel event.
         /// </summary>
-        /// <param name="type">The type dispose, it could be from user, or called by DisposeQueue.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public enum WheelType
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
+            /// <summary>
+            /// Mouse wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            MouseWheel,
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Wheel(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-            disposed = true;
+            /// <summary>
+            /// Custom wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CustomWheel
         }
 
     }
index 9ee703a..e7f601d 100755 (executable)
@@ -25,17 +25,8 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class Widget : BaseHandle
     {
-        internal WidgetImpl widgetImpl;
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        /// <summary>
-        /// Creates a Widget handle.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Widget() : this(new WidgetImpl(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        internal WidgetImpl widgetImpl;
 
         internal Widget(WidgetImpl widgetImpl, bool swigCMemOwn) : this(NDalicManualPINVOKE.Widget_New__SWIG_1(WidgetImpl.getCPtr(widgetImpl)), swigCMemOwn)
         {
@@ -55,6 +46,72 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+        private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e)
+        {
+            OnCreate(e.ContentInfo, e.Window);
+        }
+
+        private void OnWidgetInstanceDestroyed(object sender, WidgetImpl.WIdgetInstanceOnDestroyArgs e)
+        {
+            OnTerminate(e.ContentInfo, e.TerminateType);
+        }
+
+        private void OnWidgetInstancePaused(object sender, EventArgs e)
+        {
+            OnPause();
+        }
+
+        private void OnWidgetInstanceResumed(object sender, EventArgs e)
+        {
+            OnResume();
+        }
+
+        private void OnWidgetInstanceResized(object sender, WidgetImpl.WidgetInstanceOnResizeArgs e)
+        {
+            OnResize(e.Window);
+        }
+
+        private void OnWidgetInstanceUpdated(object sender, WidgetImpl.WidgetInstanceOnUpdateArgs e)
+        {
+            OnUpdate(e.ContentInfo, e.Force);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <param name="type">The dispose type</param>
+        /// <since_tizen> 4 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if(disposed)
+            {
+                return;
+            }
+
+            if(type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_Widget(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
         /// <summary>
         /// Enumeration for termination type of widget
         /// </summary>
@@ -74,24 +131,13 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Set content info to WidgetView.
+        /// Creates a Widget handle.
         /// </summary>
-        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
         /// <since_tizen> 4 </since_tizen>
-        public void SetContentInfo(string contentInfo)
-        {
-            widgetImpl.SetContentInfo(contentInfo);
-        }
+        public Widget () : this (new WidgetImpl(), true) {
+                       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+               }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Widget obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal System.IntPtr GetIntPtr()
-        {
-            return swigCPtr.Handle;
-        }
         internal Widget Assign(Widget widget)
         {
             Widget ret = new Widget(NDalicManualPINVOKE.Widget_Assign(swigCPtr, Widget.getCPtr(widget)), false);
@@ -155,65 +201,18 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Set content info to WidgetView.
         /// </summary>
-        /// <param name="type">The dispose type</param>
+        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
         /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
-        {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-            }
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
-            {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_Widget(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-        }
-
-        private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e)
-        {
-            OnCreate(e.ContentInfo, e.Window);
-        }
-
-        private void OnWidgetInstanceDestroyed(object sender, WidgetImpl.WIdgetInstanceOnDestroyArgs e)
-        {
-            OnTerminate(e.ContentInfo, e.TerminateType);
-        }
-
-        private void OnWidgetInstancePaused(object sender, EventArgs e)
-        {
-            OnPause();
-        }
-
-        private void OnWidgetInstanceResumed(object sender, EventArgs e)
-        {
-            OnResume();
-        }
-
-        private void OnWidgetInstanceResized(object sender, WidgetImpl.WidgetInstanceOnResizeArgs e)
+        public void SetContentInfo(string contentInfo)
         {
-            OnResize(e.Window);
+            widgetImpl.SetContentInfo(contentInfo);
         }
 
-        private void OnWidgetInstanceUpdated(object sender, WidgetImpl.WidgetInstanceOnUpdateArgs e)
+        internal System.IntPtr GetIntPtr()
         {
-            OnUpdate(e.ContentInfo, e.Force);
+            return swigCPtr.Handle;
         }
     }
 }
index 4b7357f..10da2ef 100755 (executable)
@@ -39,18 +39,97 @@ namespace Tizen.NUI
     public class WidgetView : View
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-        private EventHandler<WidgetViewEventArgs> _widgetAddedEventHandler;
-        private WidgetAddedEventCallbackType _widgetAddedEventCallback;
-        private EventHandler<WidgetViewEventArgs> _widgetContentUpdatedEventHandler;
-        private WidgetContentUpdatedEventCallbackType _widgetContentUpdatedEventCallback;
-        private EventHandler<WidgetViewEventArgs> _widgetDeletedEventHandler;
-        private WidgetDeletedEventCallbackType _widgetDeletedEventCallback;
-        private EventHandler<WidgetViewEventArgs> _widgetCreationAbortedEventHandler;
-        private WidgetCreationAbortedEventCallbackType _widgetCreationAbortedEventCallback;
-        private EventHandler<WidgetViewEventArgs> _widgetUpdatePeriodChangedEventHandler;
-        private WidgetUpdatePeriodChangedEventCallbackType _widgetUpdatePeriodChangedEventCallback;
-        private EventHandler<WidgetViewEventArgs> _widgetFaultedEventHandler;
-        private WidgetFaultedEventCallbackType _widgetFaultedEventCallback;
+
+        internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetView_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetView obj)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+        }
+
+        /// <summary>
+        /// To make the Button instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected override void Dispose(DisposeTypes type)
+        {
+            if (disposed)
+            {
+                return;
+            }
+
+            if (type == DisposeTypes.Explicit)
+            {
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
+            }
+
+            //Release your own unmanaged resources here.
+            //You should not access any managed member here except static instance.
+            //because the execution order of Finalizes is non-deterministic.
+
+            if (_widgetAddedEventCallback != null)
+            {
+                this.WidgetAddedSignal().Disconnect(_widgetAddedEventCallback);
+            }
+
+            if (_widgetContentUpdatedEventCallback != null)
+            {
+                this.WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
+            }
+
+            if (_widgetCreationAbortedEventCallback != null)
+            {
+                this.WidgetCreationAbortedSignal().Disconnect(_widgetCreationAbortedEventCallback);
+            }
+
+            if (_widgetDeletedEventCallback != null)
+            {
+                this.WidgetDeletedSignal().Disconnect(_widgetDeletedEventCallback);
+            }
+
+            if (_widgetFaultedEventCallback != null)
+            {
+                this.WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
+            }
+
+            if (_widgetUpdatePeriodChangedEventCallback != null)
+            {
+                this.WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+            }
+
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+            {
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicManualPINVOKE.delete_WidgetView(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            base.Dispose(type);
+        }
+
+        internal new class Property
+        {
+            internal static readonly int WIDGET_ID = NDalicManualPINVOKE.WidgetView_Property_WIDGET_ID_get();
+            internal static readonly int INSTANCE_ID = NDalicManualPINVOKE.WidgetView_Property_INSTANCE_ID_get();
+            internal static readonly int CONTENT_INFO = NDalicManualPINVOKE.WidgetView_Property_CONTENT_INFO_get();
+            internal static readonly int TITLE = NDalicManualPINVOKE.WidgetView_Property_TITLE_get();
+            internal static readonly int UPDATE_PERIOD = NDalicManualPINVOKE.WidgetView_Property_UPDATE_PERIOD_get();
+            internal static readonly int PREVIEW = NDalicManualPINVOKE.WidgetView_Property_PREVIEW_get();
+            internal static readonly int LOADING_TEXT = NDalicManualPINVOKE.WidgetView_Property_LOADING_TEXT_get();
+            internal static readonly int WIDGET_STATE_FAULTED = NDalicManualPINVOKE.WidgetView_Property_WIDGET_STATE_FAULTED_get();
+            internal static readonly int PERMANENT_DELETE = NDalicManualPINVOKE.WidgetView_Property_PERMANENT_DELETE_get();
+            internal static readonly int RETRY_TEXT = NDalicManualPINVOKE.WidgetView_Property_RETRY_TEXT_get();
+            internal static readonly int EFFECT = NDalicManualPINVOKE.WidgetView_Property_EFFECT_get();
+        }
+
         /// <summary>
         /// Creates a new WidgetView.
         /// </summary>
@@ -61,27 +140,61 @@ namespace Tizen.NUI
 
         }
 
-        internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetView_SWIGUpcast(cPtr), cMemoryOwn)
+        internal static WidgetView DownCast(BaseHandle handle)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
+
         internal WidgetView(WidgetView handle) : this(NDalicManualPINVOKE.new_WidgetView__SWIG_1(WidgetView.getCPtr(handle)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal WidgetView Assign(WidgetView handle)
+        {
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_Assign(swigCPtr, WidgetView.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal static WidgetView GetWidgetViewFromPtr(global::System.IntPtr cPtr)
+        {
+            WidgetView ret = new WidgetView(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Event arguments of the widget view.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class WidgetViewEventArgs : EventArgs
+        {
+            private WidgetView _widgetView;
+
+            /// <summary>
+            /// The widet view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public WidgetView WidgetView
+            {
+                get
+                {
+                    return _widgetView;
+                }
+                set
+                {
+                    _widgetView = value;
+                }
+            }
+        }
+
+        private EventHandler<WidgetViewEventArgs> _widgetAddedEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void WidgetAddedEventCallbackType(IntPtr data);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetContentUpdatedEventCallbackType(IntPtr data);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetDeletedEventCallbackType(IntPtr data);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetCreationAbortedEventCallbackType(IntPtr data);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetFaultedEventCallbackType(IntPtr data);
+        private WidgetAddedEventCallbackType _widgetAddedEventCallback;
 
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
@@ -113,36 +226,26 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
-        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
-        /// Most resources are only loaded when the control is placed on the stage.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetContentUpdated
+        // Callback for WidgetView WidgetAdded signal
+        private void OnWidgetAdded(IntPtr data)
         {
-            add
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                if (_widgetContentUpdatedEventHandler == null)
-                {
-                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
-                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
-                }
-
-                _widgetContentUpdatedEventHandler += value;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
 
-            remove
+            if (_widgetAddedEventHandler != null)
             {
-                _widgetContentUpdatedEventHandler -= value;
-
-                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
-                {
-                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
-                }
+                _widgetAddedEventHandler(this, e);
             }
         }
 
+        private EventHandler<WidgetViewEventArgs> _widgetDeletedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetDeletedEventCallbackType(IntPtr data);
+        private WidgetDeletedEventCallbackType _widgetDeletedEventCallback;
+
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
@@ -173,6 +276,26 @@ namespace Tizen.NUI
             }
         }
 
+        // Callback for WidgetView WidgetDeleted signal
+        private void OnWidgetDeleted(IntPtr data)
+        {
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
+            {
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+            }
+
+            if (_widgetDeletedEventHandler != null)
+            {
+                _widgetDeletedEventHandler(this, e);
+            }
+        }
+
+        private EventHandler<WidgetViewEventArgs> _widgetCreationAbortedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetCreationAbortedEventCallbackType(IntPtr data);
+        private WidgetCreationAbortedEventCallbackType _widgetCreationAbortedEventCallback;
+
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
@@ -203,241 +326,168 @@ namespace Tizen.NUI
             }
         }
 
+        // Callback for WidgetView WidgetCreationAborted signal
+        private void OnWidgetCreationAborted(IntPtr data)
+        {
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
+            {
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+            }
+
+            if (_widgetCreationAbortedEventHandler != null)
+            {
+                _widgetCreationAbortedEventHandler(this, e);
+            }
+        }
+
+        private EventHandler<WidgetViewEventArgs> _widgetContentUpdatedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetContentUpdatedEventCallbackType(IntPtr data);
+        private WidgetContentUpdatedEventCallbackType _widgetContentUpdatedEventCallback;
+
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
         /// This signal is emitted after all resources required by a control are loaded and ready.<br />
         /// Most resources are only loaded when the control is placed on the stage.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
+        public event EventHandler<WidgetViewEventArgs> WidgetContentUpdated
         {
             add
             {
-                if (_widgetUpdatePeriodChangedEventHandler == null)
+                if (_widgetContentUpdatedEventHandler == null)
                 {
-                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
-                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
+                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
+                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
                 }
 
-                _widgetUpdatePeriodChangedEventHandler += value;
+                _widgetContentUpdatedEventHandler += value;
             }
 
             remove
             {
-                _widgetUpdatePeriodChangedEventHandler -= value;
+                _widgetContentUpdatedEventHandler -= value;
 
-                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
+                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
                 {
-                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
                 }
             }
         }
 
-        /// <summary>
-        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
-        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
-        /// Most resources are only loaded when the control is placed on the stage.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetFaulted
+        // Callback for WidgetView WidgetContentUpdated signal
+        private void OnWidgetContentUpdated(IntPtr data)
         {
-            add
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                if (_widgetFaultedEventHandler == null)
-                {
-                    _widgetFaultedEventCallback = OnWidgetFaulted;
-                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
-                }
-
-                _widgetFaultedEventHandler += value;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
 
-            remove
+            if (_widgetContentUpdatedEventHandler != null)
             {
-                _widgetFaultedEventHandler -= value;
-
-                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
-                {
-                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
-                }
+                _widgetContentUpdatedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets the ID of the widget.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string WidgetID
-        {
-            get
-            {
-                string temp;
-                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
-                return temp;
-            }
-        }
+        private EventHandler<WidgetViewEventArgs> _widgetUpdatePeriodChangedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
+        private WidgetUpdatePeriodChangedEventCallbackType _widgetUpdatePeriodChangedEventCallback;
 
         /// <summary>
-        /// Gets the ID of the instance.
+        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
+        /// Most resources are only loaded when the control is placed on the stage.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string InstanceID
+        public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
         {
-            get
+            add
             {
-                string temp;
-                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
-                return temp;
-            }
-        }
+                if (_widgetUpdatePeriodChangedEventHandler == null)
+                {
+                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
+                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
+                }
 
-        /// <summary>
-        /// Gets the content info.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string ContentInfo
-        {
-            get
-            {
-                string temp;
-                GetProperty(WidgetView.Property.CONTENT_INFO).Get(out temp);
-                return temp;
+                _widgetUpdatePeriodChangedEventHandler += value;
             }
-        }
 
-        /// <summary>
-        /// Gets the title.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Title
-        {
-            get
+            remove
             {
-                string temp;
-                GetProperty(WidgetView.Property.TITLE).Get(out temp);
-                return temp;
-            }
-        }
+                _widgetUpdatePeriodChangedEventHandler -= value;
 
-        /// <summary>
-        /// Gets the update peroid.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float UpdatePeriod
-        {
-            get
-            {
-                float temp;
-                GetProperty(WidgetView.Property.UPDATE_PERIOD).Get(out temp);
-                return temp;
+                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
+                {
+                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+                }
             }
         }
 
-        /// <summary>
-        /// Gets or sets the preview.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Preview
+        // Callback for WidgetView WidgetUpdatePeriodChanged signal
+        private void OnWidgetUpdatePeriodChanged(IntPtr data)
         {
-            get
-            {
-                bool temp;
-                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
-                return temp;
-            }
-            set
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-        }
 
-        /// <summary>
-        /// Gets or sets the loading text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool LoadingText
-        {
-            get
-            {
-                bool temp;
-                GetProperty(WidgetView.Property.LOADING_TEXT).Get(out temp);
-                return temp;
-            }
-            set
+            if (_widgetUpdatePeriodChangedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetUpdatePeriodChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether the widget state is faulted or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool WidgetStateFaulted
-        {
-            get
-            {
-                bool temp;
-                GetProperty(WidgetView.Property.WIDGET_STATE_FAULTED).Get(out temp);
-                return temp;
-            }
-            set
-            {
-                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
-            }
-        }
+        private EventHandler<WidgetViewEventArgs> _widgetFaultedEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WidgetFaultedEventCallbackType(IntPtr data);
+        private WidgetFaultedEventCallbackType _widgetFaultedEventCallback;
 
         /// <summary>
-        /// Gets or sets whether the widget is to delete permanently or not.
+        /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
+        /// This signal is emitted after all resources required by a control are loaded and ready.<br />
+        /// Most resources are only loaded when the control is placed on the stage.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public bool PermanentDelete
+        public event EventHandler<WidgetViewEventArgs> WidgetFaulted
         {
-            get
-            {
-                bool temp;
-                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
-                return temp;
-            }
-            set
+            add
             {
-                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
-            }
-        }
+                if (_widgetFaultedEventHandler == null)
+                {
+                    _widgetFaultedEventCallback = OnWidgetFaulted;
+                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
+                }
 
-        /// <summary>
-        /// Gets or sets retry text.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap RetryText
-        {
-            get
-            {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(WidgetView.Property.RETRY_TEXT).Get(temp);
-                return temp;
+                _widgetFaultedEventHandler += value;
             }
-            set
+
+            remove
             {
-                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetFaultedEventHandler -= value;
+
+                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
+                {
+                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
+                }
             }
         }
 
-        /// <summary>
-        /// Gets or sets effect.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap Effect
+        // Callback for WidgetView WidgetFaulted signal
+        private void OnWidgetFaulted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(WidgetView.Property.EFFECT).Get(temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetFaultedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
+                _widgetFaultedEventHandler(this, e);
             }
         }
 
@@ -468,7 +518,7 @@ namespace Tizen.NUI
         /// <summary>
         /// Cancels the touch event procedure.
         /// If you call this function after feed the touch down event, the widget will get ON_HOLD events.
-        ///  If a widget gets ON_HOLD event, it will not do anything even if you feed touch up event.
+       ///  If a widget gets ON_HOLD event, it will not do anything even if you feed touch up event.
         /// </summary>
         /// <returns>True on success, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
@@ -502,32 +552,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal static WidgetView DownCast(BaseHandle handle)
-        {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static WidgetView GetWidgetViewFromPtr(global::System.IntPtr cPtr)
-        {
-            WidgetView ret = new WidgetView(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetView obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
-
-        internal WidgetView Assign(WidgetView handle)
-        {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_Assign(swigCPtr, WidgetView.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal WidgetViewSignal WidgetAddedSignal()
         {
             WidgetViewSignal ret = new WidgetViewSignal(NDalicManualPINVOKE.WidgetView_WidgetAddedSignal(swigCPtr), false);
@@ -571,202 +595,183 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// To make the Button instance be disposed.
+        /// Gets the ID of the widget.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public string WidgetID
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if (type == DisposeTypes.Explicit)
-            {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
-            }
-
-            //Release your own unmanaged resources here.
-            //You should not access any managed member here except static instance.
-            //because the execution order of Finalizes is non-deterministic.
-
-            if (_widgetAddedEventCallback != null)
-            {
-                this.WidgetAddedSignal().Disconnect(_widgetAddedEventCallback);
-            }
-
-            if (_widgetContentUpdatedEventCallback != null)
-            {
-                this.WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
-            }
-
-            if (_widgetCreationAbortedEventCallback != null)
-            {
-                this.WidgetCreationAbortedSignal().Disconnect(_widgetCreationAbortedEventCallback);
-            }
-
-            if (_widgetDeletedEventCallback != null)
-            {
-                this.WidgetDeletedSignal().Disconnect(_widgetDeletedEventCallback);
-            }
-
-            if (_widgetFaultedEventCallback != null)
+            get
             {
-                this.WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
+                string temp;
+                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
+                return temp;
             }
+        }
 
-            if (_widgetUpdatePeriodChangedEventCallback != null)
+        /// <summary>
+        /// Gets the ID of the instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string InstanceID
+        {
+            get
             {
-                this.WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+                string temp;
+                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
+                return temp;
             }
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// Gets the content info.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string ContentInfo
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_WidgetView(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                string temp;
+                GetProperty(WidgetView.Property.CONTENT_INFO).Get(out temp);
+                return temp;
             }
-            base.Dispose(type);
         }
 
-
-        // Callback for WidgetView WidgetAdded signal
-        private void OnWidgetAdded(IntPtr data)
+        /// <summary>
+        /// Gets the title.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string Title
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                string temp;
+                GetProperty(WidgetView.Property.TITLE).Get(out temp);
+                return temp;
             }
+        }
 
-            if (_widgetAddedEventHandler != null)
+        /// <summary>
+        /// Gets the update peroid.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float UpdatePeriod
+        {
+            get
             {
-                _widgetAddedEventHandler(this, e);
+                float temp;
+                GetProperty(WidgetView.Property.UPDATE_PERIOD).Get(out temp);
+                return temp;
             }
         }
 
-        // Callback for WidgetView WidgetDeleted signal
-        private void OnWidgetDeleted(IntPtr data)
+        /// <summary>
+        /// Gets or sets the preview.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Preview
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if (data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                bool temp;
+                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
+                return temp;
             }
-
-            if (_widgetDeletedEventHandler != null)
+            set
             {
-                _widgetDeletedEventHandler(this, e);
+                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        // Callback for WidgetView WidgetCreationAborted signal
-        private void OnWidgetCreationAborted(IntPtr data)
+        /// <summary>
+        /// Gets or sets the loading text.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool LoadingText
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if (data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                bool temp;
+                GetProperty(WidgetView.Property.LOADING_TEXT).Get(out temp);
+                return temp;
             }
-
-            if (_widgetCreationAbortedEventHandler != null)
+            set
             {
-                _widgetCreationAbortedEventHandler(this, e);
+                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-
-
-        // Callback for WidgetView WidgetContentUpdated signal
-        private void OnWidgetContentUpdated(IntPtr data)
+        /// <summary>
+        /// Gets or sets whether the widget state is faulted or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool WidgetStateFaulted
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if (data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                bool temp;
+                GetProperty(WidgetView.Property.WIDGET_STATE_FAULTED).Get(out temp);
+                return temp;
             }
-
-            if (_widgetContentUpdatedEventHandler != null)
+            set
             {
-                _widgetContentUpdatedEventHandler(this, e);
+                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        // Callback for WidgetView WidgetUpdatePeriodChanged signal
-        private void OnWidgetUpdatePeriodChanged(IntPtr data)
+        /// <summary>
+        /// Gets or sets whether the widget is to delete permanently or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool PermanentDelete
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if (data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                bool temp;
+                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
+                return temp;
             }
-
-            if (_widgetUpdatePeriodChangedEventHandler != null)
+            set
             {
-                _widgetUpdatePeriodChangedEventHandler(this, e);
+                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        // Callback for WidgetView WidgetFaulted signal
-        private void OnWidgetFaulted(IntPtr data)
+        /// <summary>
+        /// Gets or sets retry text.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyMap RetryText
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                PropertyMap temp = new PropertyMap();
+                GetProperty(WidgetView.Property.RETRY_TEXT).Get(temp);
+                return temp;
             }
-
-            if (_widgetFaultedEventHandler != null)
+            set
             {
-                _widgetFaultedEventHandler(this, e);
+                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
         /// <summary>
-        /// Event arguments of the widget view.
+        /// Gets or sets effect.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class WidgetViewEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyMap Effect
         {
-            private WidgetView _widgetView;
-
-            /// <summary>
-            /// The widet view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public WidgetView WidgetView
+            get
             {
-                get
-                {
-                    return _widgetView;
-                }
-                set
-                {
-                    _widgetView = value;
-                }
+                PropertyMap temp = new PropertyMap();
+                GetProperty(WidgetView.Property.EFFECT).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        internal new class Property
-        {
-            internal static readonly int WIDGET_ID = NDalicManualPINVOKE.WidgetView_Property_WIDGET_ID_get();
-            internal static readonly int INSTANCE_ID = NDalicManualPINVOKE.WidgetView_Property_INSTANCE_ID_get();
-            internal static readonly int CONTENT_INFO = NDalicManualPINVOKE.WidgetView_Property_CONTENT_INFO_get();
-            internal static readonly int TITLE = NDalicManualPINVOKE.WidgetView_Property_TITLE_get();
-            internal static readonly int UPDATE_PERIOD = NDalicManualPINVOKE.WidgetView_Property_UPDATE_PERIOD_get();
-            internal static readonly int PREVIEW = NDalicManualPINVOKE.WidgetView_Property_PREVIEW_get();
-            internal static readonly int LOADING_TEXT = NDalicManualPINVOKE.WidgetView_Property_LOADING_TEXT_get();
-            internal static readonly int WIDGET_STATE_FAULTED = NDalicManualPINVOKE.WidgetView_Property_WIDGET_STATE_FAULTED_get();
-            internal static readonly int PERMANENT_DELETE = NDalicManualPINVOKE.WidgetView_Property_PERMANENT_DELETE_get();
-            internal static readonly int RETRY_TEXT = NDalicManualPINVOKE.WidgetView_Property_RETRY_TEXT_get();
-            internal static readonly int EFFECT = NDalicManualPINVOKE.WidgetView_Property_EFFECT_get();
-        }
     }
 
 }
index f7899eb..85247d5 100755 (executable)
@@ -37,72 +37,28 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        /// <summary>
-        /// Creates a new widgetView manager object.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public WidgetViewManager(NUIApplication nuiApplication, string appId) : this(NDalicManualPINVOKE.WidgetViewManager_New(Application.getCPtr(nuiApplication.ApplicationHandle), appId), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
         internal WidgetViewManager(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetViewManager_SWIGUpcast(cPtr), cMemoryOwn)
         {
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <summary>
-        /// Creates a new widget view object.
-        /// </summary>
-        /// <param name="widgetId">The widget ID.</param>
-        /// <param name="contentInfo">Contents that will be given to the widget instance.</param>
-        /// <param name="width">The widget width.</param>
-        /// <param name="height">The widget height.</param>
-        /// <param name="updatePeriod">The period of updating contents of the widget.</param>
-        /// <returns>A handle to WidgetView.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public WidgetView AddWidget(string widgetId, string contentInfo, int width, int height, float updatePeriod)
-        {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetViewManager_AddWidget(swigCPtr, widgetId, contentInfo, width, height, updatePeriod), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(WidgetViewManager obj)
         {
             return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal static WidgetViewManager DownCast(BaseHandle handle)
-        {
-            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal WidgetViewManager(WidgetViewManager handle) : this(NDalicManualPINVOKE.new_WidgetViewManager__SWIG_1(WidgetViewManager.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal WidgetViewManager Assign(WidgetViewManager handle)
-        {
-            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_Assign(swigCPtr, WidgetViewManager.getCPtr(handle)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// To make WidgetViewManager instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected override void Dispose(DisposeTypes type)
         {
-            if (disposed)
+            if(disposed)
             {
                 return;
             }
 
-            if (type == DisposeTypes.Explicit)
+            if(type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -124,6 +80,51 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
+        /// <summary>
+        /// Creates a new widgetView manager object.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public WidgetViewManager(NUIApplication nuiApplication, string appId) : this(NDalicManualPINVOKE.WidgetViewManager_New(Application.getCPtr(nuiApplication.ApplicationHandle), appId), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal static WidgetViewManager DownCast(BaseHandle handle)
+        {
+            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_DownCast(BaseHandle.getCPtr(handle)), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal WidgetViewManager(WidgetViewManager handle) : this(NDalicManualPINVOKE.new_WidgetViewManager__SWIG_1(WidgetViewManager.getCPtr(handle)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        internal WidgetViewManager Assign(WidgetViewManager handle)
+        {
+            WidgetViewManager ret = new WidgetViewManager(NDalicManualPINVOKE.WidgetViewManager_Assign(swigCPtr, WidgetViewManager.getCPtr(handle)), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Creates a new widget view object.
+        /// </summary>
+        /// <param name="widgetId">The widget ID.</param>
+        /// <param name="contentInfo">Contents that will be given to the widget instance.</param>
+        /// <param name="width">The widget width.</param>
+        /// <param name="height">The widget height.</param>
+        /// <param name="updatePeriod">The period of updating contents of the widget.</param>
+        /// <returns>A handle to WidgetView.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public WidgetView AddWidget(string widgetId, string contentInfo, int width, int height, float updatePeriod)
+        {
+            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetViewManager_AddWidget(swigCPtr, widgetId, contentInfo, width, height, updatePeriod), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
     }
 
 }
\ No newline at end of file
index cbe2ee6..09e3d8c 100755 (executable)
@@ -37,21 +37,13 @@ namespace Tizen.NUI
         private readonly LayoutItem rootLayoutItem;
 
         private List<Layer> _childLayers = new List<Layer>();
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
-        private RootLayerTouchDataCallbackType _rootLayerTouchDataCallback;
-        private WheelEventCallbackType _wheelEventCallback;
-        private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
-        private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
-        private EventHandler _stageContextLostEventHandler;
-        private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
-        private EventHandler _stageContextRegainedEventHandler;
-        private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
-        private EventHandler _stageSceneCreatedEventHandler;
-        private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
-        private WindowResizedEventCallbackType _windowResizedEventCallback;
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback2;
-
-        private static readonly Window instance = Application.Instance.GetWindow();
+        internal List<Layer> LayersChildren
+        {
+            get
+            {
+                return _childLayers;
+            }
+        }
 
         internal Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn)
         {
@@ -78,379 +70,182 @@ namespace Tizen.NUI
             }
         }
 
-        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
+        internal static Window GetCurrent()
         {
+            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
+        internal static bool IsInstalled()
         {
+            bool ret = NDalicPINVOKE.Stage_IsInstalled();
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal Window(Rectangle windowPosition, string name, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
+        /// <summary>
+        /// Sets whether the window accepts a focus or not.
+        /// </summary>
+        /// <param name="accept">If a focus is accepted or not. The default is true.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void SetAcceptFocus(bool accept)
         {
+            NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool RootLayerTouchDataCallbackType(IntPtr view, IntPtr touchData);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowResizedEventCallbackType(IntPtr windowSize);
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType2(bool focusGained);
-
         /// <summary>
-        /// FocusChanged event.
+        /// Returns whether the window accepts a focus or not.
         /// </summary>
+        /// <returns>True if the window accepts a focus, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<FocusChangedEventArgs> FocusChanged
+        public bool IsFocusAcceptable()
         {
-            add
-            {
-                if (_windowFocusChangedEventHandler == null)
-                {
-                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
-                }
-
-                _windowFocusChangedEventHandler += value;
-            }
-            remove
-            {
-                _windowFocusChangedEventHandler -= value;
+            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
-                {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
-                }
-            }
+            return ret;
         }
 
         /// <summary>
-        /// This event is emitted when the screen is touched and when the touch ends.<br />
-        /// If there are multiple touch points, then this will be emitted when the first touch occurs and
-        /// then when the last finger is lifted.<br />
-        /// An interrupted event will also be emitted (if it occurs).<br />
+        /// Shows the window if it is hidden.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<TouchEventArgs> TouchEvent
+        public void Show()
         {
-            add
-            {
-                if (_rootLayerTouchDataEventHandler == null)
-                {
-                    _rootLayerTouchDataCallback = OnWindowTouch;
-                    this.TouchDataSignal().Connect(_rootLayerTouchDataCallback);
-                }
-                _rootLayerTouchDataEventHandler += value;
-            }
-            remove
-            {
-                _rootLayerTouchDataEventHandler -= value;
-                if (_rootLayerTouchDataEventHandler == null && TouchSignal().Empty() == false)
-                {
-                    this.TouchDataSignal().Disconnect(_rootLayerTouchDataCallback);
-                }
-            }
+            NDalicPINVOKE.Show(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// This event is emitted when the wheel event is received.
+        /// Hides the window if it is showing.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WheelEventArgs> WheelEvent
+        public void Hide()
         {
-            add
-            {
-                if (_stageWheelHandler == null)
-                {
-                    _wheelEventCallback = OnStageWheel;
-                    this.StageWheelEventSignal().Connect(_wheelEventCallback);
-                }
-                _stageWheelHandler += value;
-            }
-            remove
-            {
-                _stageWheelHandler -= value;
-                if (_stageWheelHandler == null && StageWheelEventSignal().Empty() == false)
-                {
-                    this.StageWheelEventSignal().Disconnect(_wheelEventCallback);
-                }
-            }
+            NDalicPINVOKE.Hide(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// This event is emitted when the key event is received.
+        /// Retrieves whether the window is visible or not.
         /// </summary>
+        /// <returns>True if the window is visible.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<KeyEventArgs> KeyEvent
+        public bool IsVisible()
         {
-            add
-            {
-                if (_stageKeyHandler == null)
-                {
-                    _stageKeyCallbackDelegate = OnStageKey;
-                    KeyEventSignal().Connect(_stageKeyCallbackDelegate);
-                }
-                _stageKeyHandler += value;
-            }
-            remove
-            {
-                _stageKeyHandler -= value;
-                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
-                {
-                    KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
-                }
-            }
+            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return temp;
         }
 
         /// <summary>
-        /// This event is emitted when the window resized.
+        /// Gets the count of supported auxiliary hints of the window.
         /// </summary>
+        /// <returns>The number of supported auxiliary hints.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
+        public uint GetSupportedAuxiliaryHintCount()
         {
-            add
-            {
-                if (_windowResizedEventHandler == null)
-                {
-                    _windowResizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_windowResizedEventCallback);
-                }
-
-                _windowResizedEventHandler += value;
-            }
-            remove
-            {
-                _windowResizedEventHandler -= value;
-
-                if (_windowResizedEventHandler == null && ResizedSignal().Empty() == false && _windowResizedEventCallback != null)
-                {
-                    ResizedSignal().Disconnect(_windowResizedEventCallback);
-                }
-            }
+            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
+        /// Gets the supported auxiliary hint string of the window.
         /// </summary>
+        /// <param name="index">The index of the supported auxiliary hint lists.</param>
+        /// <returns>The auxiliary hint string of the index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        /// Please do not use! this will be deprecated!
-        /// Instead please use FocusChanged.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusChanged instead! " +
-            "Like: " +
-            "Window.Instance.FocusChanged = OnFocusChanged; " +
-            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public event EventHandler<FocusChangedEventArgs> WindowFocusChanged
+        public string GetSupportedAuxiliaryHint(uint index)
         {
-            add
-            {
-                if (_windowFocusChangedEventHandler2 == null)
-                {
-                    _windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback2);
-                }
-
-                _windowFocusChangedEventHandler2 += value;
-            }
-            remove
-            {
-                _windowFocusChangedEventHandler2 -= value;
-
-                if (_windowFocusChangedEventHandler2 == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback2 != null)
-                {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
-                }
-            }
+            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal event EventHandler EventProcessingFinished
+        /// <summary>
+        /// Creates an auxiliary hint of the window.
+        /// </summary>
+        /// <param name="hint">The auxiliary hint string.</param>
+        /// <param name="value">The value string.</param>
+        /// <returns>The ID of created auxiliary hint, or 0 on failure.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint AddAuxiliaryHint(string hint, string value)
         {
-            add
-            {
-                if (_stageEventProcessingFinishedEventHandler == null)
-                {
-                    _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
-                    EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
-                }
-                _stageEventProcessingFinishedEventHandler += value;
-
-            }
-            remove
-            {
-                _stageEventProcessingFinishedEventHandler -= value;
-                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
-                {
-                    EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
-                }
-            }
+            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal event EventHandler ContextLost
+        /// <summary>
+        /// Removes an auxiliary hint of the window.
+        /// </summary>
+        /// <param name="id">The ID of the auxiliary hint.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool RemoveAuxiliaryHint(uint id)
         {
-            add
-            {
-                if (_stageContextLostEventHandler == null)
-                {
-                    _stageContextLostEventCallbackDelegate = OnContextLost;
-                    ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
-                }
-                _stageContextLostEventHandler += value;
-            }
-            remove
-            {
-                _stageContextLostEventHandler -= value;
-                if (_stageContextLostEventHandler == null && ContextLostSignal().Empty() == false)
-                {
-                    ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
-                }
-            }
-        }
-
-        internal event EventHandler ContextRegained
-        {
-            add
-            {
-                if (_stageContextRegainedEventHandler == null)
-                {
-                    _stageContextRegainedEventCallbackDelegate = OnContextRegained;
-                    ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
-                }
-                _stageContextRegainedEventHandler += value;
-            }
-            remove
-            {
-                _stageContextRegainedEventHandler -= value;
-                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
-                {
-                    this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
-                }
-            }
-        }
-
-        internal event EventHandler SceneCreated
-        {
-            add
-            {
-                if (_stageSceneCreatedEventHandler == null)
-                {
-                    _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
-                    SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
-                }
-                _stageSceneCreatedEventHandler += value;
-            }
-            remove
-            {
-                _stageSceneCreatedEventHandler -= value;
-                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
-                {
-                    SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
-                }
-            }
+            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler;
-        private event EventHandler<TouchEventArgs> _rootLayerTouchDataEventHandler;
-        private event EventHandler<WheelEventArgs> _stageWheelHandler;
-        private event EventHandler<KeyEventArgs> _stageKeyHandler;
-        private event EventHandler _stageEventProcessingFinishedEventHandler;
-        private event EventHandler<ResizedEventArgs> _windowResizedEventHandler;
-        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler2;
-
         /// <summary>
-        /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
+        /// Changes a value of the auxiliary hint.
         /// </summary>
+        /// <param name="id">The auxiliary hint ID.</param>
+        /// <param name="value">The value string to be set.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum WindowOrientation
+        public bool SetAuxiliaryHintValue(uint id, string value)
         {
-            /// <summary>
-            /// Portrait orientation. The height of the display area is greater than the width.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Portrait = 0,
-            /// <summary>
-            /// Landscape orientation. A wide view area is needed.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            Landscape = 90,
-            /// <summary>
-            /// Portrait inverse orientation.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            PortraitInverse = 180,
-            /// <summary>
-            /// Landscape inverse orientation.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            LandscapeInverse = 270
+            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Enumeration for the key grab mode for platform-level APIs.
+        /// Gets a value of the auxiliary hint.
         /// </summary>
+        /// <param name="id">The auxiliary hint ID.</param>
+        /// <returns>The string value of the auxiliary hint ID, or an empty string if none exists.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum KeyGrabMode
-        {
-            /// <summary>
-            /// Grabs a key only when on the top of the grabbing-window stack mode.
-            /// </summary>
-            Topmost = 0,
-            /// <summary>
-            /// Grabs a key together with the other client window(s) mode.
-            /// </summary>
-            Shared,
-            /// <summary>
-            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack with the possibility of overriding the grab by the other client window mode.
-            /// </summary>
-            OverrideExclusive,
-            /// <summary>
-            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack mode.
-            /// </summary>
-            Exclusive
-        };
-
-        /// <summary>
-        /// Enumeration for opacity of the indicator.
-        /// </summary>
-        internal enum IndicatorBackgroundOpacity
+        public string GetAuxiliaryHintValue(uint id)
         {
-            Opaque = 100,
-            Translucent = 50,
-            Transparent = 0
+            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Enumeration for visible mode of the indicator.
+        /// Gets an ID of the auxiliary hint string.
         /// </summary>
-        internal enum IndicatorVisibleMode
+        /// <param name="hint">The auxiliary hint string.</param>
+        /// <returns>The ID of auxiliary hint string, or 0 on failure.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public uint GetAuxiliaryHintId(string hint)
         {
-            Invisible = 0,
-            Visible = 1,
-            Auto = 2
+            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The stage instance property (read-only).<br />
-        /// Gets the current window.<br />
+        /// Sets a region to accept input events.
         /// </summary>
+        /// <param name="inputRegion">The region to accept input events.</param>
         /// <since_tizen> 3 </since_tizen>
-        public static Window Instance
+        public void SetInputRegion(Rectangle inputRegion)
         {
-            get
-            {
-                return instance;
-            }
+            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
@@ -473,505 +268,412 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets a window title.
+        /// Sets a priority level for the specified notification window.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public string Title
+        /// <param name="level">The notification window level.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool SetNotificationLevel(NotificationLevel level)
         {
-            get
-            {
-                return _windowTitle;
-            }
-            set
-            {
-                _windowTitle = value;
-                SetClass(_windowTitle, "");
-            }
+            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The rendering behavior of a Window.
+        /// Gets a priority level for the specified notification window.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public RenderingBehaviorType RenderingBehavior
+        /// <returns>The notification window level.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public NotificationLevel GetNotificationLevel()
         {
-            get
-            {
-                return GetRenderingBehavior();
-            }
-            set
-            {
-                SetRenderingBehavior(value);
-            }
+            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The window size property (read-only).
+        /// Sets a transparent window's visual state to opaque. <br />
+        /// If a visual state of a transparent window is opaque, <br />
+        /// then the window manager could handle it as an opaque window when calculating visibility.
         /// </summary>
+        /// <param name="opaque">Whether the window's visual state is opaque.</param>
+        /// <remarks>This will have no effect on an opaque window. <br />
+        /// It doesn't change transparent window to opaque window but lets the window manager know the visual state of the window.
+        /// </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public Size2D Size
+        public void SetOpaqueState(bool opaque)
         {
-            get
-            {
-                Size2D ret = GetSize();
-                return ret;
-            }
+            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The background color property.
+        /// Returns whether a transparent window's visual state is opaque or not.
         /// </summary>
+        /// <returns>True if the window's visual state is opaque, false otherwise.</returns>
+        /// <remarks> The return value has no meaning on an opaque window. </remarks>
         /// <since_tizen> 3 </since_tizen>
-        public Color BackgroundColor
+        public bool IsOpaqueState()
         {
-            set
-            {
-                SetBackgroundColor(value);
-            }
-            get
-            {
-                Color ret = GetBackgroundColor();
-                return ret;
-            }
+            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The DPI property (read-only).<br />
-        /// Retrieves the DPI of the display device to which the Window is connected.<br />
+        /// Sets a window's screen off mode.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Vector2 Dpi
+        /// <param name="screenOffMode">The screen mode.</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public bool SetScreenOffMode(ScreenOffMode screenOffMode)
         {
-            get
-            {
-                return GetDpi();
-            }
+            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The layer count property (read-only).<br />
-        /// Queries the number of on-Window layers.<br />
+        /// Gets the screen mode of the window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public uint LayerCount
+        /// <returns>The screen off mode.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public ScreenOffMode GetScreenOffMode()
         {
-            get
-            {
-                return GetLayerCount();
-            }
+            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Gets or sets a size of the window.
+        /// Sets preferred brightness of the window.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Size2D WindowSize
+        /// <param name="brightness">The preferred brightness (0 to 100).</param>
+        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool SetBrightness(int brightness)
         {
-            get
-            {
-                return GetWindowSize();
-            }
-            set
+            bool ret = NDalicPINVOKE.SetBrightness(swigCPtr, brightness);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// Gets the preferred brightness of the window.
+        /// </summary>
+        /// <returns>The preferred brightness.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public int GetBrightness()
+        {
+            int ret = NDalicPINVOKE.GetBrightness(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// The focus changed event argument.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusChangedEventArgs : EventArgs
+        {
+            /// <summary>
+            /// FocusGained flag.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool FocusGained
             {
-                SetWindowSize(value);
+                get;
+                set;
             }
         }
 
+        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
+        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler;
+
         /// <summary>
-        /// Gets or sets a position of the window.
+        /// FocusChanged event.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Position2D WindowPosition
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<FocusChangedEventArgs> FocusChanged
         {
-            get
+            add
             {
-                return GetPosition();
+                if (_windowFocusChangedEventHandler == null)
+                {
+                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
+                }
+
+                _windowFocusChangedEventHandler += value;
             }
-            set
+            remove
             {
-                SetPosition(value);
+                _windowFocusChangedEventHandler -= value;
+
+                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
+                {
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+                }
             }
         }
-        internal static Vector4 DEFAULT_BACKGROUND_COLOR
+
+        private void OnWindowFocusedChanged(bool focusGained)
         {
-            get
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
+
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler != null)
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
-                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _windowFocusChangedEventHandler(this, e);
             }
         }
 
-        internal static Vector4 DEBUG_BACKGROUND_COLOR
+        /// <summary>
+        /// Gets/Sets a window title.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public string Title
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
-                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return _windowTitle;
+            }
+            set
+            {
+                _windowTitle = value;
+                SetClass(_windowTitle, "");
             }
         }
 
-        internal List<Layer> LayersChildren
+        /// <summary>
+        /// The rendering behavior of a Window.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public RenderingBehaviorType RenderingBehavior
         {
             get
             {
-                return _childLayers;
+                return GetRenderingBehavior();
+            }
+            set
+            {
+                SetRenderingBehavior(value);
             }
         }
 
-        /// <summary>
-        /// Feed a key-event into the window.
-        /// </summary>
-        /// <param name="keyEvent">The key event to feed.</param>
-        /// <since_tizen> 4 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use FeedKey(Key keyEvent) instead!")]
-        public static void FeedKeyEvent(Key keyEvent)
+        internal WindowFocusSignalType WindowFocusChangedSignal()
         {
-            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Sets whether the window accepts a focus or not.
-        /// </summary>
-        /// <param name="accept">If a focus is accepted or not. The default is true.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetAcceptFocus(bool accept)
+        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
         {
-            NDalicPINVOKE.SetAcceptFocus(swigCPtr, accept);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Returns whether the window accepts a focus or not.
-        /// </summary>
-        /// <returns>True if the window accepts a focus, false otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsFocusAcceptable()
+        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
         {
-            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            return ret;
         }
 
-        /// <summary>
-        /// Shows the window if it is hidden.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Show()
+        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
         {
-            NDalicPINVOKE.Show(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Hides the window if it is showing.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Hide()
+        internal Window(Rectangle windowPosition, string name, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
         {
-            NDalicPINVOKE.Hide(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrieves whether the window is visible or not.
-        /// </summary>
-        /// <returns>True if the window is visible.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsVisible()
+        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
         {
-            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
+            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return temp;
         }
 
-        /// <summary>
-        /// Gets the count of supported auxiliary hints of the window.
-        /// </summary>
-        /// <returns>The number of supported auxiliary hints.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetSupportedAuxiliaryHintCount()
+        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
         {
-            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
+            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Gets the supported auxiliary hint string of the window.
-        /// </summary>
-        /// <param name="index">The index of the supported auxiliary hint lists.</param>
-        /// <returns>The auxiliary hint string of the index.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public string GetSupportedAuxiliaryHint(uint index)
+        internal void RotateIndicator(Window.WindowOrientation orientation)
         {
-            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
+            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Creates an auxiliary hint of the window.
+        /// Sets the window name and the class string.
         /// </summary>
-        /// <param name="hint">The auxiliary hint string.</param>
-        /// <param name="value">The value string.</param>
-        /// <returns>The ID of created auxiliary hint, or 0 on failure.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint AddAuxiliaryHint(string hint, string value)
+        /// <param name="name">The name of the window.</param>
+        /// <param name="klass">The class of the window.</param>
+        /// <since_tizen> 4 </since_tizen>
+        public void SetClass(string name, string klass)
         {
-            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
+            NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Removes an auxiliary hint of the window.
+        /// Raises the window to the top of the window stack.
         /// </summary>
-        /// <param name="id">The ID of the auxiliary hint.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool RemoveAuxiliaryHint(uint id)
+        public void Raise()
         {
-            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
+            NDalicPINVOKE.Window_Raise(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Changes a value of the auxiliary hint.
+        /// Lowers the window to the bottom of the window stack.
         /// </summary>
-        /// <param name="id">The auxiliary hint ID.</param>
-        /// <param name="value">The value string to be set.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool SetAuxiliaryHintValue(uint id, string value)
+        public void Lower()
         {
-            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
+            NDalicPINVOKE.Window_Lower(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Gets a value of the auxiliary hint.
+        /// Activates the window to the top of the window stack even it is iconified.
         /// </summary>
-        /// <param name="id">The auxiliary hint ID.</param>
-        /// <returns>The string value of the auxiliary hint ID, or an empty string if none exists.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public string GetAuxiliaryHintValue(uint id)
+        public void Activate()
         {
-            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
+            NDalicPINVOKE.Window_Activate(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Gets an ID of the auxiliary hint string.
-        /// </summary>
-        /// <param name="hint">The auxiliary hint string.</param>
-        /// <returns>The ID of auxiliary hint string, or 0 on failure.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetAuxiliaryHintId(string hint)
+        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
         {
-            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
+            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Sets a region to accept input events.
-        /// </summary>
-        /// <param name="inputRegion">The region to accept input events.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetInputRegion(Rectangle inputRegion)
+        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
         {
-            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
+            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Sets a priority level for the specified notification window.
-        /// </summary>
-        /// <param name="level">The notification window level.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool SetNotificationLevel(NotificationLevel level)
+        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
         {
-            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
+            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Gets a priority level for the specified notification window.
-        /// </summary>
-        /// <returns>The notification window level.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public NotificationLevel GetNotificationLevel()
+        internal Window.WindowOrientation GetPreferredOrientation()
         {
-            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
+            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Sets a transparent window's visual state to opaque. <br />
-        /// If a visual state of a transparent window is opaque, <br />
-        /// then the window manager could handle it as an opaque window when calculating visibility.
-        /// </summary>
-        /// <param name="opaque">Whether the window's visual state is opaque.</param>
-        /// <remarks>This will have no effect on an opaque window. <br />
-        /// It doesn't change transparent window to opaque window but lets the window manager know the visual state of the window.
-        /// </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public void SetOpaqueState(bool opaque)
-        {
-            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <summary>
-        /// Returns whether a transparent window's visual state is opaque or not.
-        /// </summary>
-        /// <returns>True if the window's visual state is opaque, false otherwise.</returns>
-        /// <remarks> The return value has no meaning on an opaque window. </remarks>
-        /// <since_tizen> 3 </since_tizen>
-        public bool IsOpaqueState()
+        internal DragAndDropDetector GetDragAndDropDetector()
         {
-            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
+            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Sets a window's screen off mode.
-        /// </summary>
-        /// <param name="screenOffMode">The screen mode.</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public bool SetScreenOffMode(ScreenOffMode screenOffMode)
+        internal Any GetNativeHandle()
         {
-            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
+            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Gets the screen mode of the window.
-        /// </summary>
-        /// <returns>The screen off mode.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public ScreenOffMode GetScreenOffMode()
+        internal WindowFocusSignalType FocusChangedSignal()
         {
-            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Sets preferred brightness of the window.
+        /// Gets the default ( root ) layer.
         /// </summary>
-        /// <param name="brightness">The preferred brightness (0 to 100).</param>
-        /// <returns>True if no error occurred, false otherwise.</returns>
+        /// <returns>The root layer.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool SetBrightness(int brightness)
+        public Layer GetDefaultLayer()
         {
-            bool ret = NDalicPINVOKE.SetBrightness(swigCPtr, brightness);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return this.GetRootLayer();
         }
 
-        /// <summary>
-        /// Gets the preferred brightness of the window.
-        /// </summary>
-        /// <returns>The preferred brightness.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public int GetBrightness()
+        internal void Add(Layer layer)
         {
-            int ret = NDalicPINVOKE.GetBrightness(swigCPtr);
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// Sets the window name and the class string.
-        /// </summary>
-        /// <param name="name">The name of the window.</param>
-        /// <param name="klass">The class of the window.</param>
-        /// <since_tizen> 4 </since_tizen>
-        public void SetClass(string name, string klass)
-        {
-            NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            LayersChildren.Add(layer);
         }
 
-        /// <summary>
-        /// Raises the window to the top of the window stack.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Raise()
+        internal void Remove(Layer layer)
         {
-            NDalicPINVOKE.Window_Raise(swigCPtr);
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+            LayersChildren.Remove(layer);
         }
 
         /// <summary>
-        /// Lowers the window to the bottom of the window stack.
+        /// Add a child view to window.
         /// </summary>
+        /// <param name="view">the child should be added to the window.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Lower()
+        public void Add(View view)
         {
-            NDalicPINVOKE.Window_Lower(swigCPtr);
+            NDalicPINVOKE.Actor_Add( rootLayoutCPtr, View.getCPtr(view) );
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            this.GetRootLayer().AddViewToLayerList(view); // Maintain the children list in the Layer
+            view.InternalParent = this.GetRootLayer();
         }
 
         /// <summary>
-        /// Activates the window to the top of the window stack even it is iconified.
+        /// Remove a child view from window.
         /// </summary>
+        /// <param name="view">the child to be removed.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Activate()
+        public void Remove(View view)
         {
-            NDalicPINVOKE.Window_Activate(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            NDalicPINVOKE.Actor_Remove( rootLayoutCPtr, View.getCPtr(view) );
+            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
+            view.InternalParent = null;
         }
 
-        /// <summary>
-        /// Gets the default ( root ) layer.
-        /// </summary>
-        /// <returns>The root layer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Layer GetDefaultLayer()
+        internal Vector2 GetSize()
         {
-            return this.GetRootLayer();
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Add a child view to window.
-        /// </summary>
-        /// <param name="view">the child should be added to the window.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Add(View view)
+        internal RenderTaskList GetRenderTaskList()
         {
-            NDalicPINVOKE.Actor_Add(rootLayoutCPtr, View.getCPtr(view));
+            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            this.GetRootLayer().AddViewToLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = this.GetRootLayer();
+            return ret;
         }
 
         /// <summary>
-        /// Remove a child view from window.
+        /// Queries the number of on-window layers.
         /// </summary>
-        /// <param name="view">the child to be removed.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Remove(View view)
+        /// <returns>The number of layers.</returns>
+        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
+        internal uint GetLayerCount()
         {
-            NDalicPINVOKE.Actor_Remove(rootLayoutCPtr, View.getCPtr(view));
-            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = null;
+            if (LayersChildren == null || LayersChildren.Count < 0)
+                return 0;
+
+            return (uint) LayersChildren.Count;
         }
 
         /// <summary>
@@ -993,396 +695,777 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Keep rendering for at least the given amount of time.
-        /// </summary>
-        /// <param name="durationSeconds">Time to keep rendering, 0 means render at least one more frame.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void KeepRendering(float durationSeconds)
+        internal Layer GetRootLayer()
         {
-            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            // 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();
+                LayersChildren.Add(_rootLayer);
+            }
+            return _rootLayer;
         }
 
-        /// <summary>
-        /// Grabs the key specified by a key for a window only when a window is the topmost window.<br />
-        /// This function can be used for following example scenarios: <br />
-        /// - Mobile - Using volume up or down as zoom up or down in camera apps.<br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to grab.</param>
-        /// <returns>True if the grab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool GrabKeyTopmost(int DaliKey)
+        internal void SetBackgroundColor(Vector4 color)
         {
-            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Ungrabs the key specified by a key for the window.<br />
-        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event.<br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to ungrab.</param>
-        /// <returns>True if the ungrab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool UngrabKeyTopmost(int DaliKey)
+        internal Vector4 GetBackgroundColor()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        ///  Grabs the key specified by a key for a window in a GrabMode. <br />
-        ///  Details: This function can be used for following example scenarios: <br />
-        ///  - TV - A user might want to change the volume or channel of the background TV contents while focusing on the foregrund app. <br />
-        ///  - Mobile - When a user presses the Home key, the homescreen appears regardless of the current foreground app. <br />
-        ///  - Mobile - Using the volume up or down as zoom up or down in camera apps. <br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to grab.</param>
-        /// <param name="GrabMode">The grab mode for the key.</param>
-        /// <returns>True if the grab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool GrabKey(int DaliKey, KeyGrabMode GrabMode)
+        internal Vector2 GetDpi()
         {
-            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Ungrabs the key specified by a key for a window.<br />
-        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event. <br />
-        /// </summary>
-        /// <param name="DaliKey">The key code to ungrab.</param>
-        /// <returns>True if the ungrab succeeds.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public bool UngrabKey(int DaliKey)
+        internal ObjectRegistry GetObjectRegistry()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Sets the keyboard repeat information.
+        /// Keep rendering for at least the given amount of time.
         /// </summary>
-        /// <param name="rate">The key repeat rate value in seconds.</param>
-        /// <param name="delay">The key repeat delay value in seconds.</param>
-        /// <returns>True if setting the keyboard repeat succeeds.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool SetKeyboardRepeatInfo(float rate, float delay)
+        /// <param name="durationSeconds">Time to keep rendering, 0 means render at least one more frame.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void KeepRendering(float durationSeconds)
         {
-            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
+            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Gets the keyboard repeat information.
-        /// </summary>
-        /// <param name="rate">The key repeat rate value in seconds.</param>
-        /// <param name="delay">The key repeat delay value in seconds.</param>
-        /// <returns>True if setting the keyboard repeat succeeds.</returns>
-        /// <since_tizen> 5 </since_tizen>
-        public bool GetKeyboardRepeatInfo(out float rate, out float delay)
+        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
         {
-            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
+            NDalicPINVOKE.Stage_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        /// <summary>
-        /// Adds a layer to the stage.
-        /// </summary>
-        /// <param name="layer">Layer to add.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void AddLayer(Layer layer)
+        internal RenderingBehaviorType GetRenderingBehavior()
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Add(layer);
+            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Removes a layer from the stage.
-        /// </summary>
-        /// <param name="layer">Layer to remove.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void RemoveLayer(Layer layer)
+        internal KeyEventSignal KeyEventSignal()
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
+            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Remove(layer);
+            return ret;
         }
 
-        /// <summary>
-        /// Feeds a key event into the window.
-        /// </summary>
-        /// <param name="keyEvent">The key event to feed.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public void FeedKey(Key keyEvent)
+        internal VoidSignal EventProcessingFinishedSignal()
         {
-            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Allows at least one more render, even when paused.
-        /// The window should be shown, not minimised.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void RenderOnce()
+        internal TouchSignal TouchSignal()
         {
-            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
+            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
+        internal TouchDataSignal TouchDataSignal()
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal static Window GetCurrent()
+        private StageWheelSignal WheelEventSignal()
         {
-            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
+            StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal static bool IsInstalled()
+
+        private WheelSignal StageWheelEventSignal()
         {
-            bool ret = NDalicPINVOKE.Stage_IsInstalled();
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(Layer.getCPtr(this.GetRootLayer())), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal WindowFocusSignalType WindowFocusChangedSignal()
+
+        internal VoidSignal ContextLostSignal()
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
+        internal VoidSignal ContextRegainedSignal()
         {
-            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
+        internal VoidSignal SceneCreatedSignal()
         {
-            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void RotateIndicator(Window.WindowOrientation orientation)
+        internal ResizedSignal ResizedSignal()
         {
-            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
+        internal static Vector4 DEFAULT_BACKGROUND_COLOR
         {
-            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEFAULT_BACKGROUND_COLOR_get();
+                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+        internal static Vector4 DEBUG_BACKGROUND_COLOR
         {
-            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                global::System.IntPtr cPtr = NDalicPINVOKE.Stage_DEBUG_BACKGROUND_COLOR_get();
+                Vector4 ret = (cPtr == global::System.IntPtr.Zero) ? null : new Vector4(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
-        {
-            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+        private static readonly Window instance = Application.Instance.GetWindow();
 
-        internal Window.WindowOrientation GetPreferredOrientation()
+        /// <summary>
+        /// The stage instance property (read-only).<br />
+        /// Gets the current window.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Window Instance
         {
-            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return instance;
+            }
         }
 
-        internal DragAndDropDetector GetDragAndDropDetector()
+        /// <summary>
+        /// Grabs the key specified by a key for a window only when a window is the topmost window.<br />
+        /// This function can be used for following example scenarios: <br />
+        /// - Mobile - Using volume up or down as zoom up or down in camera apps.<br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to grab.</param>
+        /// <returns>True if the grab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool GrabKeyTopmost(int DaliKey)
         {
-            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
+            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal Any GetNativeHandle()
+        /// <summary>
+        /// Ungrabs the key specified by a key for the window.<br />
+        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event.<br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to ungrab.</param>
+        /// <returns>True if the ungrab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool UngrabKeyTopmost(int DaliKey)
         {
-            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
+            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal WindowFocusSignalType FocusChangedSignal()
+        /// <summary>
+        ///  Grabs the key specified by a key for a window in a GrabMode. <br />
+        ///  Details: This function can be used for following example scenarios: <br />
+        ///  - TV - A user might want to change the volume or channel of the background TV contents while focusing on the foregrund app. <br />
+        ///  - Mobile - When a user presses the Home key, the homescreen appears regardless of the current foreground app. <br />
+        ///  - Mobile - Using the volume up or down as zoom up or down in camera apps. <br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to grab.</param>
+        /// <param name="GrabMode">The grab mode for the key.</param>
+        /// <returns>True if the grab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool GrabKey(int DaliKey, KeyGrabMode GrabMode)
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal void Add(Layer layer)
+        /// <summary>
+        /// Ungrabs the key specified by a key for a window.<br />
+        /// Note: If this function is called between key down and up events of a grabbed key, an application doesn't receive the key up event. <br />
+        /// </summary>
+        /// <param name="DaliKey">The key code to ungrab.</param>
+        /// <returns>True if the ungrab succeeds.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool UngrabKey(int DaliKey)
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
+            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Add(layer);
+            return ret;
         }
 
-        internal void Remove(Layer layer)
+        /// <summary>
+        /// Sets the keyboard repeat information.
+        /// </summary>
+        /// <param name="rate">The key repeat rate value in seconds.</param>
+        /// <param name="delay">The key repeat delay value in seconds.</param>
+        /// <returns>True if setting the keyboard repeat succeeds.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool SetKeyboardRepeatInfo(float rate, float delay)
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
+            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            LayersChildren.Remove(layer);
+            return ret;
         }
 
-        internal Vector2 GetSize()
+        /// <summary>
+        /// Gets the keyboard repeat information.
+        /// </summary>
+        /// <param name="rate">The key repeat rate value in seconds.</param>
+        /// <param name="delay">The key repeat delay value in seconds.</param>
+        /// <returns>True if setting the keyboard repeat succeeds.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public bool GetKeyboardRepeatInfo(out float rate, out float delay)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal RenderTaskList GetRenderTaskList()
+        internal System.IntPtr GetNativeWindowHandler()
         {
-            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
+            System.IntPtr ret = NDalicManualPINVOKE.GetNativeWindowHandler(HandleRef.ToIntPtr(this.swigCPtr));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Queries the number of on-window layers.
+        /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
         /// </summary>
-        /// <returns>The number of layers.</returns>
-        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
-        internal uint GetLayerCount()
-        {
-            if (LayersChildren == null || LayersChildren.Count < 0)
-                return 0;
-
-            return (uint) LayersChildren.Count;
-        }
-
-        internal Layer GetRootLayer()
+        /// <since_tizen> 3 </since_tizen>
+        public enum WindowOrientation
         {
-            // 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();
-                LayersChildren.Add(_rootLayer);
-            }
-            return _rootLayer;
+            /// <summary>
+            /// Portrait orientation. The height of the display area is greater than the width.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Portrait = 0,
+            /// <summary>
+            /// Landscape orientation. A wide view area is needed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            Landscape = 90,
+            /// <summary>
+            /// Portrait inverse orientation.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            PortraitInverse = 180,
+            /// <summary>
+            /// Landscape inverse orientation.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            LandscapeInverse = 270
         }
 
-        internal void SetBackgroundColor(Vector4 color)
+        /// <summary>
+        /// Enumeration for the key grab mode for platform-level APIs.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum KeyGrabMode
         {
-            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// Grabs a key only when on the top of the grabbing-window stack mode.
+            /// </summary>
+            Topmost = 0,
+            /// <summary>
+            /// Grabs a key together with the other client window(s) mode.
+            /// </summary>
+            Shared,
+            /// <summary>
+            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack with the possibility of overriding the grab by the other client window mode.
+            /// </summary>
+            OverrideExclusive,
+            /// <summary>
+            /// Grabs a key exclusively regardless of the grabbing-window's position on the window stack mode.
+            /// </summary>
+            Exclusive
+        };
+
+        /// <summary>
+        /// Enumeration for opacity of the indicator.
+        /// </summary>
+        internal enum IndicatorBackgroundOpacity
+        {
+            Opaque = 100,
+            Translucent = 50,
+            Transparent = 0
+        }
+
+        /// <summary>
+        /// Enumeration for visible mode of the indicator.
+        /// </summary>
+        internal enum IndicatorVisibleMode
+        {
+            Invisible = 0,
+            Visible = 1,
+            Auto = 2
+        }
+
+        /// <summary>
+        /// The touch event argument.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TouchEventArgs : EventArgs
+        {
+            private Touch _touch;
+
+            /// <summary>
+            /// Touch.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Touch Touch
+            {
+                get
+                {
+                    return _touch;
+                }
+                set
+                {
+                    _touch = value;
+                }
+            }
+        }
+
+
+        private event EventHandler<TouchEventArgs> _rootLayerTouchDataEventHandler;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool RootLayerTouchDataCallbackType(IntPtr view, IntPtr touchData);
+        private RootLayerTouchDataCallbackType _rootLayerTouchDataCallback;
+        /// <summary>
+        /// This event is emitted when the screen is touched and when the touch ends.<br />
+        /// If there are multiple touch points, then this will be emitted when the first touch occurs and
+        /// then when the last finger is lifted.<br />
+        /// An interrupted event will also be emitted (if it occurs).<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<TouchEventArgs> TouchEvent
+        {
+            add
+            {
+                if (_rootLayerTouchDataEventHandler == null)
+                {
+                    _rootLayerTouchDataCallback = OnWindowTouch;
+                    this.TouchDataSignal().Connect(_rootLayerTouchDataCallback);
+                }
+                _rootLayerTouchDataEventHandler += value;
+            }
+            remove
+            {
+                _rootLayerTouchDataEventHandler -= value;
+                if (_rootLayerTouchDataEventHandler == null && TouchSignal().Empty() == false)
+                {
+                    this.TouchDataSignal().Disconnect(_rootLayerTouchDataCallback);
+                }
+            }
+        }
+
+        private bool OnWindowTouch(IntPtr view, IntPtr touchData)
+        {
+            if (touchData == global::System.IntPtr.Zero)
+            {
+                NUILog.Error("touchData should not be null!");
+                return false;
+            }
+
+            TouchEventArgs e = new TouchEventArgs();
+
+            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
+
+            if (_rootLayerTouchDataEventHandler != null)
+            {
+                _rootLayerTouchDataEventHandler(this, e);
+            }
+            return false;
+        }
+
+        /// <summary>
+        /// Wheel event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class WheelEventArgs : EventArgs
+        {
+            private Wheel _wheel;
+
+            /// <summary>
+            /// Wheel.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Wheel Wheel
+            {
+                get
+                {
+                    return _wheel;
+                }
+                set
+                {
+                    _wheel = value;
+                }
+            }
+        }
+
+        private event EventHandler<WheelEventArgs> _stageWheelHandler;
+
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate bool WheelEventCallbackType(IntPtr view, IntPtr wheelEvent);
+        private WheelEventCallbackType _wheelEventCallback;
+
+        /// <summary>
+        /// This event is emitted when the wheel event is received.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<WheelEventArgs> WheelEvent
+        {
+            add
+            {
+                if (_stageWheelHandler == null)
+                {
+                    _wheelEventCallback = OnStageWheel;
+                    this.StageWheelEventSignal().Connect(_wheelEventCallback);
+                }
+                _stageWheelHandler += value;
+            }
+            remove
+            {
+                _stageWheelHandler -= value;
+                if (_stageWheelHandler == null && StageWheelEventSignal().Empty() == false)
+                {
+                    this.StageWheelEventSignal().Disconnect(_wheelEventCallback);
+                }
+            }
+        }
+
+        private bool OnStageWheel(IntPtr rootLayer, IntPtr wheelEvent)
+        {
+            if (wheelEvent == global::System.IntPtr.Zero)
+        {
+                NUILog.Error("wheelEvent should not be null!");
+                return true;
+            }
+
+            WheelEventArgs e = new WheelEventArgs();
+
+            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
+
+            if (_stageWheelHandler != null)
+            {
+                _stageWheelHandler(this, e);
+            }
+            return true;
+        }
+
+        /// <summary>
+        /// Key event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class KeyEventArgs : EventArgs
+        {
+            private Key _key;
+
+            /// <summary>
+            /// Key.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Key Key
+            {
+                get
+                {
+                    return _key;
+                }
+                set
+                {
+                    _key = value;
+                }
+            }
+        }
+
+        private event EventHandler<KeyEventArgs> _stageKeyHandler;
+        private EventCallbackDelegateType1 _stageKeyCallbackDelegate;
+
+        /// <summary>
+        /// This event is emitted when the key event is received.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<KeyEventArgs> KeyEvent
+        {
+            add
+            {
+                if (_stageKeyHandler == null)
+                {
+                    _stageKeyCallbackDelegate = OnStageKey;
+                    KeyEventSignal().Connect(_stageKeyCallbackDelegate);
+                }
+                _stageKeyHandler += value;
+            }
+            remove
+            {
+                _stageKeyHandler -= value;
+                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
+                {
+                    KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+                }
+            }
+        }
+
+        // Callback for Stage KeyEventsignal
+        private void OnStageKey(IntPtr data)
+        {
+            KeyEventArgs e = new KeyEventArgs();
+
+            if (data != null)
+            {
+                e.Key = Tizen.NUI.Key.GetKeyFromPtr(data);
+            }
+
+            if (_stageKeyHandler != null)
+            {
+                //here we send all data to user event handlers
+                _stageKeyHandler(this, e);
+            }
+        }
+
+
+        private event EventHandler _stageEventProcessingFinishedEventHandler;
+        private EventCallbackDelegateType0 _stageEventProcessingFinishedEventCallbackDelegate;
+
+        internal event EventHandler EventProcessingFinished
+        {
+            add
+            {
+                if (_stageEventProcessingFinishedEventHandler == null)
+                {
+                    _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
+                    EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+                _stageEventProcessingFinishedEventHandler += value;
+
+            }
+            remove
+            {
+                _stageEventProcessingFinishedEventHandler -= value;
+                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
+                {
+                    EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+            }
+        }
+
+        // Callback for Stage EventProcessingFinishedSignal
+        private void OnEventProcessingFinished()
+        {
+            if (_stageEventProcessingFinishedEventHandler != null)
+            {
+                _stageEventProcessingFinishedEventHandler(this, null);
+            }
+        }
+
+
+        private EventHandler _stageContextLostEventHandler;
+        private EventCallbackDelegateType0 _stageContextLostEventCallbackDelegate;
+
+        internal event EventHandler ContextLost
+        {
+            add
+            {
+                if (_stageContextLostEventHandler == null)
+                {
+                    _stageContextLostEventCallbackDelegate = OnContextLost;
+                    ContextLostSignal().Connect(_stageContextLostEventCallbackDelegate);
+                }
+                _stageContextLostEventHandler += value;
+            }
+            remove
+            {
+                _stageContextLostEventHandler -= value;
+                if (_stageContextLostEventHandler == null && ContextLostSignal().Empty() == false)
+                {
+                    ContextLostSignal().Disconnect(_stageContextLostEventCallbackDelegate);
+                }
+            }
+        }
+
+        // Callback for Stage ContextLostSignal
+        private void OnContextLost()
+        {
+            if (_stageContextLostEventHandler != null)
+            {
+                _stageContextLostEventHandler(this, null);
+            }
+        }
+
+
+        private EventHandler _stageContextRegainedEventHandler;
+        private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
+
+        internal event EventHandler ContextRegained
+        {
+            add
+            {
+                if (_stageContextRegainedEventHandler == null)
+                {
+                    _stageContextRegainedEventCallbackDelegate = OnContextRegained;
+                    ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
+                }
+                _stageContextRegainedEventHandler += value;
+            }
+            remove
+            {
+                _stageContextRegainedEventHandler -= value;
+                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
+                {
+                    this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
+                }
+            }
         }
 
-        internal Vector4 GetBackgroundColor()
+        // Callback for Stage ContextRegainedSignal
+        private void OnContextRegained()
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (_stageContextRegainedEventHandler != null)
+            {
+                _stageContextRegainedEventHandler(this, null);
+            }
         }
 
-        internal Vector2 GetDpi()
-        {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        internal ObjectRegistry GetObjectRegistry()
-        {
-            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        private EventHandler _stageSceneCreatedEventHandler;
+        private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
 
-        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
+        internal event EventHandler SceneCreated
         {
-            NDalicPINVOKE.Stage_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            add
+            {
+                if (_stageSceneCreatedEventHandler == null)
+                {
+                    _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
+                    SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
+                }
+                _stageSceneCreatedEventHandler += value;
+            }
+            remove
+            {
+                _stageSceneCreatedEventHandler -= value;
+                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
+                {
+                    SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
+                }
+            }
         }
 
-        internal RenderingBehaviorType GetRenderingBehavior()
+        // Callback for Stage SceneCreatedSignal
+        private void OnSceneCreated()
         {
-            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (_stageSceneCreatedEventHandler != null)
+            {
+                _stageSceneCreatedEventHandler(this, null);
+            }
         }
 
-        internal KeyEventSignal KeyEventSignal()
+        /// <summary>
+        /// This resized event arguments.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ResizedEventArgs : EventArgs
         {
-            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            Size2D _windowSize;
 
-        internal VoidSignal EventProcessingFinishedSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// This window size.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Size2D WindowSize
+            {
+                get
+                {
+                    return _windowSize;
+                }
+                set
+                {
+                    _windowSize = value;
+                }
+            }
         }
 
-        internal TouchSignal TouchSignal()
-        {
-            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+        private WindowResizedEventCallbackType _windowResizedEventCallback;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowResizedEventCallbackType(IntPtr windowSize);
+        private event EventHandler<ResizedEventArgs> _windowResizedEventHandler;
 
-        internal TouchDataSignal TouchDataSignal()
+        /// <summary>
+        /// This event is emitted when the window resized.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public event EventHandler<ResizedEventArgs> Resized
         {
-            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            add
+            {
+                if (_windowResizedEventHandler == null)
+                {
+                    _windowResizedEventCallback = OnResized;
+                    ResizedSignal().Connect(_windowResizedEventCallback);
+                }
 
-        internal VoidSignal ContextLostSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+                _windowResizedEventHandler += value;
+            }
+            remove
+            {
+                _windowResizedEventHandler -= value;
 
-        internal VoidSignal ContextRegainedSignal()
-        {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+                if (_windowResizedEventHandler == null && ResizedSignal().Empty() == false && _windowResizedEventCallback != null)
+                {
+                    ResizedSignal().Disconnect(_windowResizedEventCallback);
+                }
+            }
         }
 
-        internal VoidSignal SceneCreatedSignal()
+        private void OnResized(IntPtr windowSize)
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            ResizedEventArgs e = new ResizedEventArgs();
+            var val = new Uint16Pair(windowSize, false);
+            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
+            val.Dispose();
 
-        internal ResizedSignal ResizedSignal()
-        {
-            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (_windowResizedEventHandler != null)
+            {
+                _windowResizedEventHandler(this, e);
+            }
         }
 
         internal void SetWindowSize(Size2D size)
@@ -1432,7 +1515,6 @@ namespace Tizen.NUI
         internal void SetPositionSize(Rectangle positionSize)
         {
             NDalicPINVOKE.Window_SetPositionSize(swigCPtr, Rectangle.getCPtr(positionSize));
-
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
             if(rootLayoutItem != null)
@@ -1449,171 +1531,104 @@ namespace Tizen.NUI
         public void SetTransparency(bool transparent) {
             NDalicManualPINVOKE.SetTransparency(swigCPtr, transparent);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-            if(rootLayoutItem != null)
-            {
-                rootLayoutItem.RequestLayout();
-            }
-        }
-
-        internal System.IntPtr GetNativeWindowHandler()
-        {
-            System.IntPtr ret = NDalicManualPINVOKE.GetNativeWindowHandler(HandleRef.ToIntPtr(this.swigCPtr));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private void OnWindowFocusedChanged(bool focusGained)
-        {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
-
-            if (_windowFocusChangedEventHandler != null)
-            {
-                _windowFocusChangedEventHandler(this, e);
-            }
-        }
-
-        private StageWheelSignal WheelEventSignal()
-        {
-            StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(stageCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private WheelSignal StageWheelEventSignal()
-        {
-            WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(Layer.getCPtr(this.GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        private bool OnWindowTouch(IntPtr view, IntPtr touchData)
-        {
-            if (touchData == global::System.IntPtr.Zero)
-            {
-                NUILog.Error("touchData should not be null!");
-                return false;
-            }
-
-            TouchEventArgs e = new TouchEventArgs();
-
-            e.Touch = Tizen.NUI.Touch.GetTouchFromPtr(touchData);
-
-            if (_rootLayerTouchDataEventHandler != null)
-            {
-                _rootLayerTouchDataEventHandler(this, e);
-            }
-            return false;
-        }
-
-        private bool OnStageWheel(IntPtr rootLayer, IntPtr wheelEvent)
-        {
-            if (wheelEvent == global::System.IntPtr.Zero)
-        {
-                NUILog.Error("wheelEvent should not be null!");
-                return true;
-            }
-
-            WheelEventArgs e = new WheelEventArgs();
-
-            e.Wheel = Tizen.NUI.Wheel.GetWheelFromPtr(wheelEvent);
-
-            if (_stageWheelHandler != null)
-            {
-                _stageWheelHandler(this, e);
-            }
-            return true;
-        }
-
-        // Callback for Stage KeyEventsignal
-        private void OnStageKey(IntPtr data)
-        {
-            KeyEventArgs e = new KeyEventArgs();
-
-            if (data != null)
-            {
-                e.Key = Tizen.NUI.Key.GetKeyFromPtr(data);
-            }
-
-            if (_stageKeyHandler != null)
-            {
-                //here we send all data to user event handlers
-                _stageKeyHandler(this, e);
-            }
         }
 
-        // Callback for Stage EventProcessingFinishedSignal
-        private void OnEventProcessingFinished()
+        /// <summary>
+        /// The window size property (read-only).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Size2D Size
         {
-            if (_stageEventProcessingFinishedEventHandler != null)
+            get
             {
-                _stageEventProcessingFinishedEventHandler(this, null);
+                Size2D ret = GetSize();
+                return ret;
             }
         }
 
-        // Callback for Stage ContextLostSignal
-        private void OnContextLost()
+        /// <summary>
+        /// The background color property.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Color BackgroundColor
         {
-            if (_stageContextLostEventHandler != null)
+            set
             {
-                _stageContextLostEventHandler(this, null);
+                SetBackgroundColor(value);
+            }
+            get
+            {
+                Color ret = GetBackgroundColor();
+                return ret;
             }
         }
 
-        // Callback for Stage ContextRegainedSignal
-        private void OnContextRegained()
+        /// <summary>
+        /// The DPI property (read-only).<br />
+        /// Retrieves the DPI of the display device to which the Window is connected.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 Dpi
         {
-            if (_stageContextRegainedEventHandler != null)
+            get
             {
-                _stageContextRegainedEventHandler(this, null);
+                return GetDpi();
             }
         }
 
-        // Callback for Stage SceneCreatedSignal
-        private void OnSceneCreated()
+        /// <summary>
+        /// The layer count property (read-only).<br />
+        /// Queries the number of on-Window layers.<br />
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public uint LayerCount
         {
-            if (_stageSceneCreatedEventHandler != null)
+            get
             {
-                _stageSceneCreatedEventHandler(this, null);
+                return GetLayerCount();
             }
         }
 
-        private void OnResized(IntPtr windowSize)
+
+        /// <summary>
+        /// Adds a layer to the stage.
+        /// </summary>
+        /// <param name="layer">Layer to add.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void AddLayer(Layer layer)
         {
-            ResizedEventArgs e = new ResizedEventArgs();
-            var val = new Uint16Pair(windowSize, false);
-            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
-            val.Dispose();
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (_windowResizedEventHandler != null)
-            {
-                _windowResizedEventHandler(this, e);
-            }
+            LayersChildren.Add(layer);
         }
 
-        private void OnWindowFocusedChanged2(bool focusGained)
+        /// <summary>
+        /// Removes a layer from the stage.
+        /// </summary>
+        /// <param name="layer">Layer to remove.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void RemoveLayer(Layer layer)
         {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (_windowFocusChangedEventHandler2 != null)
-            {
-                _windowFocusChangedEventHandler2(this, e);
-            }
+            LayersChildren.Remove(layer);
         }
 
         /// <summary>
-        /// The focus changed event argument.
+        /// Please do not use! this will be deprecated
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class FocusChangedEventArgs : EventArgs
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusChangedEventArgs instead! " +
+            "Like: " +
+            "Window.Instance.FocusChanged = OnFocusChanged; " +
+            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public class WindowFocusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// FocusGained flag.
+            /// Please do not use! this will be deprecated
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
             public bool FocusGained
@@ -1623,78 +1638,86 @@ namespace Tizen.NUI
             }
         }
 
+        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback2;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void WindowFocusChangedEventCallbackType2(bool focusGained);
+        private event EventHandler<WindowFocusChangedEventArgs> _windowFocusChangedEventHandler2;
+
         /// <summary>
-        /// The touch event argument.
+        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class TouchEventArgs : EventArgs
+        /// Please do not use! this will be deprecated!
+        /// Instead please use FocusChanged.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusChanged instead! " +
+            "Like: " +
+            "Window.Instance.FocusChanged = OnFocusChanged; " +
+            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
+        [EditorBrowsable(EditorBrowsableState.Never)]
+        public event EventHandler<WindowFocusChangedEventArgs> WindowFocusChanged
         {
-            private Touch _touch;
-
-            /// <summary>
-            /// Touch.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Touch Touch
+            add
             {
-                get
+                if (_windowFocusChangedEventHandler2 == null)
                 {
-                    return _touch;
+                    _windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback2);
                 }
-                set
+
+                _windowFocusChangedEventHandler2 += value;
+            }
+            remove
+            {
+                _windowFocusChangedEventHandler2 -= value;
+
+                if (_windowFocusChangedEventHandler2 == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback2 != null)
                 {
-                    _touch = value;
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
                 }
             }
         }
 
-        /// <summary>
-        /// Wheel event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class WheelEventArgs : EventArgs
+        private void OnWindowFocusedChanged2(bool focusGained)
         {
-            private Wheel _wheel;
+            WindowFocusChangedEventArgs e = new WindowFocusChangedEventArgs();
 
-            /// <summary>
-            /// Wheel.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Wheel Wheel
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler2 != null)
             {
-                get
-                {
-                    return _wheel;
-                }
-                set
-                {
-                    _wheel = value;
-                }
+                _windowFocusChangedEventHandler2(this, e);
             }
         }
 
         /// <summary>
-        /// Key event arguments.
+        /// Gets or sets a size of the window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class KeyEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        public Size2D WindowSize
         {
-            private Key _key;
+            get
+            {
+                return GetWindowSize();
+            }
+            set
+            {
+                SetWindowSize(value);
+            }
+        }
 
-            /// <summary>
-            /// Key.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public Key Key
+        /// <summary>
+        /// Gets or sets a position of the window.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public Position2D WindowPosition
+        {
+            get
             {
-                get
-                {
-                    return _key;
-                }
-                set
-                {
-                    _key = value;
-                }
+                return GetPosition();
+            }
+            set
+            {
+                SetPosition(value);
             }
         }
 
@@ -1720,50 +1743,36 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Feeds a key event into the window.
-        /// This resized event arguments.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ResizedEventArgs : EventArgs
+        /// <param name="keyEvent">The key event to feed.</param>
+        /// <since_tizen> 5 </since_tizen>
+        public void FeedKey(Key keyEvent)
         {
-            Size2D _windowSize;
+            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <summary>
-            /// This window size.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public Size2D WindowSize
-            {
-                get
-                {
-                    return _windowSize;
-                }
-                set
-                {
-                    _windowSize = value;
-                }
-            }
+        /// <summary>
+        /// Feed a key-event into the window.
+        /// </summary>
+        /// <param name="keyEvent">The key event to feed.</param>
+        /// <since_tizen> 4 </since_tizen>
+        [Obsolete("Please do not use! This will be deprecated! Please use FeedKey(Key keyEvent) instead!")]
+        public static void FeedKeyEvent(Key keyEvent)
+        {
+            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Please do not use! this will be deprecated
+        /// Allows at least one more render, even when paused.
+        /// The window should be shown, not minimised.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusChangedEventArgs instead! " +
-            "Like: " +
-            "Window.Instance.FocusChanged = OnFocusChanged; " +
-            "private void OnFocusChanged(object source, Window.FocusChangedEventArgs args) {...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public class WindowFocusChangedEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        public void RenderOnce()
         {
-            /// <summary>
-            /// Please do not use! this will be deprecated
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool FocusGained
-            {
-                get;
-                set;
-            }
+            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
index 5f04e47..1ddfc1e 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -34,6 +34,7 @@ namespace Tizen.NUI
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public View Root {get; internal set;}
+        private Window Window;
 
         internal static readonly BindableProperty ContentProperty = BindableProperty.Create(nameof(Content), typeof(View), typeof(ContentPage), null, propertyChanged: (bindable, oldValue, newValue) =>
         {
@@ -115,10 +116,8 @@ namespace Tizen.NUI
             IsCreateByXaml = true;
 
             Root = new View();
-            Root.Size2D = new Size2D(win.WindowSize.Width, win.WindowSize.Height);
-            Root.ParentOrigin = ParentOrigin.TopLeft;
-            Root.PivotPoint = PivotPoint.TopLeft;
-            Root.PositionUsesPivotPoint = true;
+            Root.WidthResizePolicy = ResizePolicyType.FillToParent;
+            Root.HeightResizePolicy = ResizePolicyType.FillToParent;
 
             win.Add(Root);
         }
index 17f8497..b457dca 100755 (executable)
@@ -114,17 +114,17 @@ namespace Tizen.NUI.Binding
         /// <summary>
         /// Gets the element which is the closest ancestor of this element that is a BaseHandle.
         /// </summary>
+        [Obsolete("ParentView is obsolete as of version 2.1.0. Please use Parent instead.")]
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        [Obsolete("ParentView is obsolete as of version 2.1.0. Please use Parent instead.")]
-        public BaseHandle ParentView
+        public /*VisualElement*/BaseHandle ParentView
         {
             get
             {
                 Element parent = Parent;
                 while (parent != null)
                 {
-                    var parentView = parent as BaseHandle;
+                    var parentView = parent as /*VisualElement*/BaseHandle;
                     if (parentView != null)
                         return parentView;
                     parent = parent.RealParent;
@@ -606,9 +606,23 @@ namespace Tizen.NUI.Binding
 
         internal static void SetFlowDirectionFromParent(Element child)
         {
-            var parentView = child.Parent;
-            if (parentView == null)
-                return;
+            // IFlowDirectionController controller = child as IFlowDirectionController;
+            // if (controller == null)
+            //         return;
+
+            // if (controller.EffectiveFlowDirection.IsImplicit())
+            // {
+            //         var parentView = child.Parent as IFlowDirectionController;
+            //         if (parentView == null)
+            //                 return;
+
+            //         var flowDirection = parentView.EffectiveFlowDirection.ToFlowDirection();
+
+            //         if (flowDirection != controller.EffectiveFlowDirection.ToFlowDirection())
+            //         {
+            //                 controller.EffectiveFlowDirection = flowDirection.ToEffectiveFlowDirection();
+            //         }
+            // }
         }
 
         /// <summary>
@@ -632,8 +646,8 @@ namespace Tizen.NUI.Binding
                 ReadOnlyCollection<Element> children = queue.Dequeue().LogicalChildrenInternal;
                 for (var i = 0; i < children.Count; i++)
                 {
-                    var child = children[i] as BaseHandle;
-                    if (child == null)
+                    var child = children[i] as /*VisualElement*/BaseHandle;
+                    if (child == null /*|| !child.IsVisible*/)
                         continue;
                     yield return child;
                     queue.Enqueue(child);
index add06df..243b6b7 100755 (executable)
@@ -6,13 +6,7 @@ namespace Tizen.NUI.Binding
     [EditorBrowsable(EditorBrowsableState.Never)]
     public interface IResourcesProvider
     {
-        /// <summary>
-        /// Check if resources created.
-        /// </summary>
         bool IsResourcesCreated { get; }
-        /// <summary>
-        /// Saved xaml resources.
-        /// </summary>
         ResourceDictionary XamlResources { get; set; }
     }
 }
index 504bb7e..a60df56 100755 (executable)
@@ -8,23 +8,7 @@ namespace Tizen.NUI.Binding
     [EditorBrowsable(EditorBrowsableState.Never)]
     public interface IValueConverter
     {
-        /// <summary>
-        /// Converts a value.
-        /// </summary>
-        /// <param name="value">The value produced by the binding source.</param>
-        /// <param name="targetType">The type of the binding target property.</param>
-        /// <param name="parameter">The converter parameter to use.</param>
-        /// <param name="culture">The culture to use in the converter.</param>
-        /// <returns>A converted value. If the method returns null, the valid null value is used.</returns>
         object Convert(object value, Type targetType, object parameter, CultureInfo culture);
-        /// <summary>
-        /// Converts a value.
-        /// </summary>
-        /// <param name="value">The value that is produced by the binding target.</param>
-        /// <param name="targetType">The type to convert to.</param>
-        /// <param name="parameter">The converter parameter to use.</param>
-        /// <param name="culture">The culture to use in the converter.</param>
-        /// <returns>A converted value. If the method returns null, the valid null value is used.</returns>>
         object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture);
     }
 }
index 18d99b5..81222df 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2017 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.
@@ -84,6 +84,7 @@ namespace Tizen.NUI
 
         readonly Lazy<PlatformConfigurationRegistry<Page>> _platformConfigurationRegistry;
 
+        bool _allocatedFlag;
         Rectangle _containerArea;
 
         bool _containerAreaSet;
@@ -199,7 +200,7 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         public ObservableCollection<Element> InternalChildren { get; } = new ObservableCollection<Element>();
 
-        internal override ReadOnlyCollection<Element> LogicalChildrenInternal =>
+        internal override ReadOnlyCollection<Element> LogicalChildrenInternal => 
             _logicalChildren ?? (_logicalChildren = new ReadOnlyCollection<Element>(InternalChildren));
 
         /// <summary>
@@ -281,6 +282,7 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void ForceLayout()
         {
+            // SizeAllocated(Width, Height);
         }
 
         /// <summary>
@@ -317,6 +319,19 @@ namespace Tizen.NUI
                 area.Width = Math.Max(0, area.Width);
                 area.Height = Math.Max(0, area.Height);
             }
+
+            List<Element> elements = LogicalChildren.ToList();
+            foreach (Element element in elements)
+            {
+                var child = element as /*VisualElement*/BaseHandle;
+                if (child == null)
+                    continue;
+                var page = child as Page;
+                // if (page != null && page.IgnoresContainerArea)
+                    // Forms.Layout.LayoutChildIntoBoundingRegion(child, originalArea);
+                // else
+                    // Forms.Layout.LayoutChildIntoBoundingRegion(child, area);
+            }
         }
 
         /// <summary>
@@ -337,11 +352,15 @@ namespace Tizen.NUI
         protected virtual bool OnBackButtonPressed()
         {
             var application = RealParent as Application;
+            // if (application == null || this == application.MainPage)
+                // return false;
 
             var canceled = false;
             EventHandler handler = (sender, args) => { canceled = true; };
+            // application.PopCanceled += handler;
             Navigation.PopModalAsync().ContinueWith(t => { throw t.Exception; }, CancellationToken.None, TaskContinuationOptions.OnlyOnFaulted, TaskScheduler.FromCurrentSynchronizationContext());
 
+            // application.PopCanceled -= handler;
             return !canceled;
         }
 
@@ -353,6 +372,10 @@ namespace Tizen.NUI
         protected override void OnBindingContextChanged()
         {
             base.OnBindingContextChanged();
+            // foreach (ToolbarItem toolbarItem in ToolbarItems)
+            // {
+            //         SetInheritedBindingContext(toolbarItem, BindingContext);
+            // }
         }
 
         /// <summary>
@@ -365,7 +388,7 @@ namespace Tizen.NUI
         protected virtual void OnChildMeasureInvalidated(object sender, EventArgs e)
         {
             InvalidationTrigger trigger = (e as InvalidationEventArgs)?.Trigger ?? InvalidationTrigger.Undefined;
-            OnChildMeasureInvalidated((BaseHandle)sender, trigger);
+            OnChildMeasureInvalidated((/*VisualElement*/BaseHandle)sender, trigger);
         }
 
         /// <summary>
@@ -384,9 +407,21 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         protected override void OnParentSet()
         {
+            //if (!Application.IsApplicationOrNull(RealParent) && !(RealParent is Page))
+                // throw new InvalidOperationException("Parent of a Page must also be a Page");
             base.OnParentSet();
         }
 
+        ///// <summary>
+        ///// Indicates that the Page has been assigned a size.
+        ///// </summary>
+        // protected override void OnSizeAllocated(double width, double height)
+        // {
+        //  _allocatedFlag = true;
+        //  //base.OnSizeAllocated(width, height);
+        //  UpdateChildrenLayout();
+        // }
+
         /// <summary>
         /// Requests that the children Elements of the Page update their layouts.
         /// </summary>
@@ -397,34 +432,56 @@ namespace Tizen.NUI
             if (!ShouldLayoutChildren())
                 return;
 
+            var startingLayout = new List<Rectangle>(LogicalChildren.Count);
+            foreach (/*VisualElement*/BaseHandle c in LogicalChildren)
+            {
+                //startingLayout.Add(c.Bounds);
+            }
+
             double x = Padding.Left;
             double y = Padding.Top;
+            //double w = Math.Max(0, Width - Padding.HorizontalThickness);
+            //double h = Math.Max(0, Height - Padding.VerticalThickness);
+
+            //LayoutChildren(x, y, w, h);
 
             for (var i = 0; i < LogicalChildren.Count; i++)
             {
-                var c = (BaseHandle)LogicalChildren[i];
-                LayoutChanged?.Invoke(this, EventArgs.Empty);
+                var c = (/*VisualElement*/BaseHandle)LogicalChildren[i];
+
+                // if (c.Bounds != startingLayout[i])
+                // {
+                //     LayoutChanged?.Invoke(this, EventArgs.Empty);
+                //     return;
+                // }
             }
         }
 
-        internal virtual void OnChildMeasureInvalidated(BaseHandle child, InvalidationTrigger trigger)
+        internal virtual void OnChildMeasureInvalidated(/*VisualElement*/BaseHandle child, InvalidationTrigger trigger)
         {
             var container = this as IPageContainer<Page>;
             if (container != null)
             {
                 Page page = container.CurrentPage;
-                if (page != null)
+                if (page != null /*&& page.IsVisible && (!page.IsPlatformEnabled || !page.IsNativeStateConsistent)*/)
                     return;
             }
             else
             {
                 for (var i = 0; i < LogicalChildren.Count; i++)
                 {
-                    var v = LogicalChildren[i] as BaseHandle;
-                    if (v != null)
+                    var v = LogicalChildren[i] as /*VisualElement*/BaseHandle;
+                    if (v != null /*&& v.IsVisible && (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
                         return;
                 }
             }
+
+            _allocatedFlag = false;
+            // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
+            if (!_allocatedFlag /*&& Width >= 0 && Height >= 0*/)
+            {
+                // SizeAllocated(Width, Height);
+            }
         }
 
         /// <summary>
@@ -446,6 +503,8 @@ namespace Tizen.NUI
 
             var pageContainer = this as IPageContainer<Page>;
             pageContainer?.CurrentPage?.SendAppearing();
+
+            //FindApplication(this)?.OnPageAppearing(this);
         }
 
         /// <summary>
@@ -467,6 +526,8 @@ namespace Tizen.NUI
 
             OnDisappearing();
             Disappearing?.Invoke(this, EventArgs.Empty);
+
+            //FindApplication(this)?.OnPageDisappearing(this);
         }
 
         Application FindApplication(Element element)
@@ -481,24 +542,29 @@ namespace Tizen.NUI
         {
             if (e.OldItems != null)
             {
-                foreach (BaseHandle item in e.OldItems.OfType<BaseHandle>())
+                foreach (/*VisualElement*/BaseHandle item in e.OldItems.OfType</*VisualElement*/BaseHandle>())
                     OnInternalRemoved(item);
             }
 
             if (e.NewItems != null)
             {
-                foreach (BaseHandle item in e.NewItems.OfType<BaseHandle>())
+                foreach (/*VisualElement*/BaseHandle item in e.NewItems.OfType</*VisualElement*/BaseHandle>())
                     OnInternalAdded(item);
             }
         }
 
-        void OnInternalAdded(BaseHandle view)
+        void OnInternalAdded(/*VisualElement*/BaseHandle view)
         {
+            // view.MeasureInvalidated += OnChildMeasureInvalidated;
+
             OnChildAdded(view);
+            // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
         }
 
-        void OnInternalRemoved(BaseHandle view)
+        void OnInternalRemoved(/*VisualElement*/BaseHandle view)
         {
+            // view.MeasureInvalidated -= OnChildMeasureInvalidated;
+
             OnChildRemoved(view);
         }
 
@@ -520,20 +586,22 @@ namespace Tizen.NUI
 
         bool ShouldLayoutChildren()
         {
-            if (!LogicalChildren.Any())
+            if (!LogicalChildren.Any()/* || Width <= 0 || Height <= 0 || !IsNativeStateConsistent*/)
                 return false;
 
             var container = this as IPageContainer<Page>;
             if (container?.CurrentPage != null)
             {
+                // if (InternalChildren.Contains(container.CurrentPage))
+                //     return container.CurrentPage.IsPlatformEnabled && container.CurrentPage.IsNativeStateConsistent;
                 return true;
             }
 
             var any = false;
             for (var i = 0; i < LogicalChildren.Count; i++)
             {
-                var v = LogicalChildren[i] as BaseHandle;
-                if (v != null)
+                var v = LogicalChildren[i] as /*VisualElement*/BaseHandle;
+                if (v != null /*&& (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
                 {
                     any = true;
                     break;
index 85a45f7..0e2303e 100755 (executable)
@@ -31,13 +31,10 @@ namespace Tizen.NUI.Binding
             DependencyService.Register<IResourcesLoader, ResourcesLoader>();
         }
 
-        /// <summary>
-        /// Gets or sets the type of object with which the resource dictionary is merged.
-        /// </summary>
-        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-        [EditorBrowsable(EditorBrowsableState.Never)]
         [TypeConverter(typeof(TypeTypeConverter))]
         [Obsolete("Use Source")]
+        /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+        [EditorBrowsable(EditorBrowsableState.Never)]
         public Type MergedWith {
             get { return _mergedWith; }
             set {
@@ -59,12 +56,9 @@ namespace Tizen.NUI.Binding
             }
         }
 
-        /// <summary>
-        /// Gets or sets the URI of the merged resource dictionary.
-        /// </summary>
+        [TypeConverter(typeof(RDSourceTypeConverter))]
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        [TypeConverter(typeof(RDSourceTypeConverter))]
         public Uri Source {
             get { return _source; }
             set {
@@ -74,14 +68,7 @@ namespace Tizen.NUI.Binding
             }
         }
 
-        /// <summary>
-        /// To set and load source.
-        /// </summary>
-        /// <param name="value">The source.</param>
-        /// <param name="resourcePath">The resource path.</param>
-        /// <param name="assembly">The assembly.</param>
-        /// <param name="lineInfo">The xml line info.</param>
-        /// Used by the XamlC compiled converter.
+        //Used by the XamlC compiled converter
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void SetAndLoadSource(Uri value, string resourcePath, Assembly assembly, System.Xml.IXmlLineInfo lineInfo)
         {
@@ -228,12 +215,9 @@ namespace Tizen.NUI.Binding
             return _innerDictionary.ContainsKey(key);
         }
 
-        /// <summary>
-        /// Gets or sets the value according to index.
-        /// </summary>
+        [IndexerName("Item")]
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
         [EditorBrowsable(EditorBrowsableState.Never)]
-        [IndexerName("Item")]
         public object this[string index]
         {
             get
index baee6f1..85c6aea 100755 (executable)
@@ -4,14 +4,10 @@ using System.ComponentModel;
 
 namespace Tizen.NUI
 {
-    /// <summary>
-    /// Specifies a mapping on a per-assembly basis between a XAML namespace and a CLR namespace,<br />
-    /// which is then used for type resolution by a XAML object writer or XAML schema context.
-    /// </summary>
-    /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
-    [EditorBrowsable(EditorBrowsableState.Never)]
     [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
     [DebuggerDisplay("{XmlNamespace}, {ClrNamespace}, {AssemblyName}")]
+    /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.
+    [EditorBrowsable(EditorBrowsableState.Never)]
     public sealed class XmlnsDefinitionAttribute : Attribute
     {
         /// This will be public opened in tizen_5.0 after ACR done. Before ACR, need to be hidden as inhouse API.