[NUI] Sync with dalihub & API5 branch (#631)
authorhuiyueun <35286162+huiyueun@users.noreply.github.com>
Thu, 27 Dec 2018 06:12:33 +0000 (15:12 +0900)
committerdongsug-song <35130733+dongsug-song@users.noreply.github.com>
Thu, 27 Dec 2018 06:12:33 +0000 (15:12 +0900)
* Added LayoutGroup and LayoutItem classes in NUI.

This was done by using bindings wrapper classes for LayoutItem,
LayoutGroup, LayoutMeasureSpec, LayoutLength, and LayoutMeasuredSize.

Change-Id: I19e28bdff59a62cf1c8e8711f50f9f0e8f1c119a

* Layouting support in NUI

Change-Id: I3d6f688d869faa81c34385db37feceb1d8c1d0c0

* Fixed disposed bug and removed RegisterChildProperties API usage.

Change-Id: I7b71bd1a3a03306897abdf3c263c6bbb65c1bff8

* RootLayout added to Window

Change-Id: Ie47ceec452b5f254950263bdaf661e9e3fe86d1f

* All Layers have an Absolute layout

Change-Id: I08281a25b2b73822b45f5c6a567b574b5af74fb4

* Set View.Size2D sets layout minimum size if exists.

Change-Id: Ide73c78957d9ee5d4799bfff4aa2232b87ffa536

* [NUI] Minimize public api for xaml

Change-Id: Ib1426b1956a2af307bd6128d6b97067b0d732847

* Renaming of rootlayer in Layer.cs

Change-Id: I583f49caaad819cabaca83b09c9c7dd9c2b9a331

* Fix NUI nested layout issue

Change-Id: I68edd6cf8295e06a52655d84b8ce039a4e1f1008

* [NUI] Back-sync Samsung/TizenFX into dalihub/TizenFX

Change-Id: Ib63e792bc3474c9226506f30889994219e237ec1

* [NUI] Remove tabs and redundant spaces

Change-Id: I1d512d7f478e532f76629b2529995386820fc764

* Sync dalihub/TizenFX and Samsung/TizenFX

- [NUI] Remove apis which are using internal APIs (#324)
  Some apis are using DALi internal APIs.
  Clean up these wrong apis to prevent future errors.
Signed-off-by: minho.sun <minho.sun@samsung.com>
Change-Id: I77f773ec84f93f69684c2bdad26d9721f8ed705d
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Sync dalihub/TizenFX and Samsung/TizenFX for NUI-XAML related changes

Change-Id: Ied6a4e33d462712672e65763572c6aa88065a897
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Support multi-cascade property setting for Size2D and Position2D

Change-Id: Ibeb9e9ec639742b78054fe8592167170ea0f00d2
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Add Mouse button type to identify clicked button kind

Change-Id: Id336dacccff8192a17cda552ba8ea2ba01121002
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* [NUI] Fix dereferenced error

Value trans, which has null value,
is dereferenced in member access expression trans.Name

Change-Id: I5b7fa2a0e96689ff0cc0821f2e931ed3c4001e9d
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI]Remove ContentProperty attribute and update sample

Change-Id: I0fbb60bf00c609779b6f5ff4d8aff58a26a8819e

* [NUI] Fix children count of LayoutGroup bug

Change-Id: I73c3b597b161a2dbf4a52d37e6f5a0ab4858c11b
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Make Layout APIs as internal ones (will be changed as public APIs later)

Conflicts:
src/Tizen.NUI/src/internal/Layouting/LayoutGroupWrapper.cs
src/Tizen.NUI/src/internal/Layouting/LayoutItemWrapper.cs

Change-Id: Ia64e9216d10ecc986e0e977f2e0633a03813faec
Signed-off-by: dongsug.song <dongsug.song@samsung.com>
* Fix View Size2D.

We force Size2D by setting fixed width & height specifications.
There is no really another way in new layouting without breaking
new layouting design.

Also MinimumSize will set now Layout.MinimumSize.

Change-Id: I65c7eaab8210c83b9097426a14c8877173d11f90

* [NUI] Change Parameter type of KeyboardRepeatInfo APIs

- Changed the parameters type of KeyboardRepeatInfo APIs
  : 'double' type -> 'float' type

Change-Id: I3940e44a1a2c116988e8c947ae81d118ac266000
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
* [NUI] Fix getting ClippingMode error

Change-Id: I2379ec6adda1442e819d2adbaa9751e5dd154996

* [NUI] Fix animation flickering issue.

Change-Id: Idd3e28ac861a6fa33ad316e4bcae6a7b2199c0de
Signed-off-by: Feng Jin <feng16.jin@samsung.com>
* [NUI] Remove redundant logs

Change-Id: Ic7ec157fe8117b613d0d008f68e74cf7c4bccf64

* [NUI] Fix KeyValue issue

Change-Id: I1970a61633fba277379a43035cf84ec2871d1cdd

* [NUI]public BindableObject.GetValue and BindableObject.SetValue to enable other modules(EX.Tizen.TV.NUI) to implement data binding.

Change-Id: Ibb048e668e765a96f1e8553951e4073b181e9a84
Signed-off-by: Feng Jin <feng16.jin@samsung.com>
* [NUI]Add protect codes in API View::Add

1. Add protect codes, so that if the child is null, this API won't don anything.

Change-Id: Icfd7e2cbb08b99ed962660edb88e8797bad2b654

* [NUI] public gesture detector.

Change-Id: Ife9902fe77b43f2c422a1a2ebeaf474d13e67589
Signed-off-by: Feng Jin <feng16.jin@samsung.com>
* GridLayout added

Change-Id: I67916a0e2a8efde6fd8d28daac79bca39d679d10

* Add PropertyValue.Get function for RelativeVector2, RelativeVector3, and RelativeVector4 type.

Change-Id: I181c51a6eea0a94721b28a48d8187673a3f0b88b
Signed-off-by: Feng Jin <feng16.jin@samsung.com>
* Explict assigning of Layouts to children

Allows legacy GridContainer to display it's children.
CustomLayouts children get a LayoutItem and displayed.

Change-Id: Ic3f900ae01800de77695b85a57661f886ee060b7

* [NUI] Add DestroyContext call before disposing TextField/TextEditor

In order to speed up IME hide, temporarily add DestroyContext call.

Change-Id: Id93c99f4d45061d4e406d36ced7a0ec09c8f2c34

* [NUI] VisualMap revising

Here are some changes:
Add VisualFittingMode property
Add Atlasing property
Add Shadow,Underline,Outline,Background property
Add RenderIfTransparent property

Change-Id: I8d85f9d1a438cb6fbb636f79c7438e9134e1df8f

* [NUI] Add visual test example

Change-Id: I25f41d969f7b98a494a4fa1716b0335c09ab5026

* [NUI] Add friend assembly for Tizen.TV.NUI.Component

Change-Id: I2fdc02205c03aa98260035fb81998d68514c030e

* View.cs assignement error and logging fix

Change-Id: Ic43213bb7e565f03f83d27df153d095b0e9f7143

* [NUI] Add support for changing the Rendering behavior

Change-Id: Ibbe3627659132fd40105482761795f62a92d1856

* Size2D set updates measure spec for all Views

Previously Size2D set only updated the WIDTH/HEIGHT MEASURESPEC
for Views that already had a Layout set.
But if the Size2D was set before the View added to it's parent
then the set size would not update the measure specs.

Change-Id: I28e731e5e6c6318231b5ba25108bf2daa9cd3411

* [NUI] Avoid raising InputMethodContext reference count

Change-Id: I25e89f41daa41008c81ae1b46fbb82c75a98a011

* [NUI] Add getter property for VisualFittingMode

Change-Id: I1ee389dd4a84f153e4a5d063fe3331a9525757eb

* [NUI] VisualMaps revising continue

Here are changes:
1. Update VisualFittingMode
2. Remove EditorBrowsable attribute

Change-Id: I2f272e822ba227fe255031b3574db325505e90e1

* [NUI] Add LinearLayout Alignment and Weight

Change-Id: I0ed3010fd27f8f4cb26126efc5547a301c69cf38
Signed-off-by: Seoyeon Kim <seoyeon2.kim@samsung.com>
* SetLayoutRequired, IsLayoutRequired View API added

Change-Id: I6b4351901ad841c04f92b22be62c43f7f20b9263

* Fixes required after https://review.tizen.org/gerrit/#/c/189231/

Removal of dangerous float conversion

Change-Id: I6766c8747865c229a1df3ed669a1d9ab90fefdc4

* Update LayoutItem doxygen for Minimum(Width|Height) API.

Change-Id: I0ead74f919c73823cb6f4b241bea81cbcdde4c98

* [NUI] Fix LayoutItemWrapperImpl null issue

Change-Id: I158533d132eb81c4681d8ff622124ba45bfe0e4b
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Fix RenderingBehavior issue

Change-Id: I35b83e115fd60d2b43ed49c2a35a0f34377e55c2
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Support Resource path when using xaml

Change-Id: I066c4a6b051bfdcc5fa6b26f9f784a2be5a255a7

* [NUI] Public ChildAdded,ChildRemoved,PropertySet events & properties of TableView.CellPosition

Change-Id: I77b58a63e863b16e9eeef8c09da9ae5160f5e735

* [NUI] Public some apis of TableView,Animation,NUIApplication

Change-Id: I280e6389cb9d2aa537d72c183b1547ee807fcfd6

* Layer SetLayoutingRequired for added Views

Change-Id: I7e9ead91ddec74fee998bdafc0e9249ffe250453

* [NUI] Add comment

Add Size, Size2D comment
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
Change-Id: Ic790ea0af14e9aa76314e92ac74a034ab2f7985c

* [NUI] Fix ImageLoadThread issue

PLM ID : [DF181025-02207],[DF181005-00132],[DF180906-00491]
heap-use-after-free issue using ASAN.

The application's destructor was not called after terminated.
The Join of ImageLoadThread was not called in ImageLoadThread's destructor.

The cause is that AnimationImpl is still referenced in C#.
Resolve by explicitly calling dispose.

Change-Id: Ica66a8a7a17ff305777c173be33e0a196213e566

* All Views in a tree can be layouts

Prior to this fix a View with children within a View would
not become a layout if the parent View did not have SetLayout
explicitly called on it.

Change-Id: Ibf9b214f907a0ea8df30f54269626747c50499ca

* [NUI] Set LayoutItem Width/Height specification

Change-Id: Idec264329f6dc20db4692fba84ac8ee1f95067aa
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* [NUI] Public some apis for TCT and fix an issue

Here are some changes:
1. public ScrollViewPagePathEffect class
2. public TypeRegistry class
3. public PinchGesture constructor
4. public SetScrollPropertySource api
5. Fix ScrollInterval event issue

Change-Id: I649f0fc464a5af0453475b7ef0dcf4df614eb34e

* [NUI] Modify since_tizen tag

Change-Id: Ib9ee882177d2372b8f132542cb235a3fcae5e734

* [NUI] Fix build error

Change-Id: Ib1ff4dcb142ce09539dbef3b567f649e40459527
Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
* LayoutGroup to layout children

Change-Id: Idff81189013e4cb0e85a8bbf13e268170b8aad31

* [NUI] Add reverse support for parse

Change-Id: Ia6f55508e34cf5adbf23d0f9acd4f69da7b6d3c5

* Disable layouting until set Layout

Added a (static) flag that is set once a Layout is set on any View.

Until this flag is set automatic Layout setting will not occur

Change-Id: Ieff5ed12df75a062a899831681f138c5aa3b6e1f

* [NUI] Fix ParentOrigin doesn't work when using XAML

Change-Id: I53e4b18b6c24db79c16c75b758613113152c5b25

* Remove build warnings

Change-Id: I8744e8f690a4e93b199dc762c14607bd8b191718

* VisualFactory Instance to retreive from native

VisualFactory.Get() is deprecated whilst Instance just gets the C# class.
Added call to native to return the native VisualFactory when Instance used.

Change-Id: I3be36e8f6cb70a2a1b2128c7d934fa45fe5bf570

* [NUI] Fix State issue of View

Change-Id: Ide87c43406e55b9399f191dd76f8fb0b68b0cae9

* Map non dependant ResizePolicies to Specs.

Maps NaturalSize, FillToParent and FitToChildren to the
new layouting specifications.

NaturalSize is mapped to a fixed value.

Parent relative mappings not done here, need to be done in the
measure once parent sizes known.

Change-Id: I1f11a9dca126541cd534a386583fc36f97646ed4

* [NUI] Clean NUI codes from Adaptor.cs to Window.cs

Change-Id: Ic1e5458dd1b3b4ac43cff028204254ac378d2f86

* Remove StereoMode

Change-Id: If19a2e403114bf5375e914584e1e7fa513f7d889

* [NUI] Sync with API5 branch

Signed-off-by: huiyu.eun <huiyu.eun@samsung.com>
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: 0644->0755]
src/Tizen.NUI/src/internal/Layouting/LayoutItemWrapperImpl.cs [changed mode: 0644->0755]
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 [deleted file]
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: 0644->0755]
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: 0644->0755]
src/Tizen.NUI/src/public/TTSPlayer.cs [changed mode: 0644->0755]
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 941e6e5..13d24ec 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> 4 </since_tizen>
+        /// <since_tizen> 5 </since_tizen>
         public void Emit(InputMethodContext arg)
         {
             NDalicManualPINVOKE.ActivatedSignalType_Emit(swigCPtr, InputMethodContext.getCPtr(arg));
index e7cc4a9..e44d802 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -309,8 +309,14 @@ 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;
@@ -408,7 +414,7 @@ namespace Tizen.NUI
         }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public NavigationProxy NavigationProxy { get; }
+        public new NavigationProxy NavigationProxy { get; }
 
         [EditorBrowsable(EditorBrowsableState.Never)]
         public int PanGestureId { get; set; }
@@ -947,11 +953,6 @@ 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();
 
@@ -961,6 +962,7 @@ namespace Tizen.NUI
                 e.Application = this;
                 _applicationInitEventHandler.Invoke(this, e);
             }
+
         }
 
         /**
@@ -1613,32 +1615,6 @@ 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 be815da..04d68cf 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
+ * 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.
@@ -21,53 +21,25 @@ using System.Runtime.CompilerServices;
 
 namespace Tizen.NUI
 {
-  namespace Constants
-  {
-    /// <summary>
-    /// Enumeration for texture types.
-    /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum TextureType
+    namespace Constants
     {
-            /// <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 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>
         /// Enumeration for the direction
@@ -94,8 +66,6 @@ namespace Tizen.NUI
             }
         }
 
-
-
         /// <summary>
         /// ToolTip
         /// </summary>
index cde10b2..e16ff0a 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
             }
         }
 
-        internal void ProcessDisposables()
+        public void ProcessDisposables()
         {
             lock (_listLock)
             {
index 49f158f..eb5a76d 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -70,7 +70,7 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        public Tizen.NUI.PropertyArray Layout
+        public new Tizen.NUI.PropertyArray Layout
         {
             get
             {
index 771246a..820fac8 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> 4 </since_tizen>
+        /// <since_tizen> 5 </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 784ffaf..050d26a 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> 4 </since_tizen>
+        /// <since_tizen> 5 </since_tizen>
         public void Emit(InputMethodContext.KeyboardType arg)
         {
             NDalicManualPINVOKE.KeyboardTypeSignalType_Emit(swigCPtr, (int)arg);
index ae8fcd3..7fae234 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 virtual void Dispose(DisposeTypes type)
+        protected override void Dispose(DisposeTypes type)
         {
             if (disposed)
             {
index 904c237..42355a7 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 virtual void Dispose(DisposeTypes type)
+        protected override 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 class ChildProperty
+        internal new 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 67a6375..fee9c62 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 a30d7d0..514539e 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,30 +129,29 @@ 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 );
                 }
             }
         }
@@ -162,7 +161,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 virtual void OnSizeChanged(LayoutSize newSize, LayoutSize oldSize)
+        protected override void OnSizeChanged(LayoutSize newSize, LayoutSize oldSize)
         {
 
         }
index 288723f..6ee5a09 100755 (executable)
@@ -68,7 +68,7 @@ namespace Tizen.NUI
             base.Dispose(type);
         }
 
-        public class ChildProperty
+        public new class ChildProperty
         {
             public static readonly int MARGIN_SPECIFICATION = LayoutPINVOKE.LayoutGroupWrapper_ChildProperty_MARGIN_SPECIFICATION_get();
         }
old mode 100644 (file)
new mode 100755 (executable)
index 37bb101..cc869ac
@@ -28,9 +28,9 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        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 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 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 OnMeasureDelegate OnMeasure;
-        public OnLayoutDelegate OnLayout;
-        public OnSizeChangedDelegate OnSizeChanged;
+        public new OnMeasureDelegate OnMeasure;
+        public new OnLayoutDelegate OnLayout;
+        public new OnSizeChangedDelegate OnSizeChanged;
         public OnChildAddDelegate OnChildAdd;
         public OnChildRemoveDelegate OnChildRemove;
         public DoInitializeDelegate DoInitialize;
@@ -191,18 +191,21 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void SwigDirectorConnect()
+        private new 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 100644 (file)
new mode 100755 (executable)
index 29c4f68..e347ef4
@@ -258,9 +258,13 @@ 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 422aa43..e9098c2 100755 (executable)
@@ -169,6 +169,32 @@ 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 9b9408a..60f4214 100755 (executable)
@@ -81,6 +81,32 @@ 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 3930f1a..5f33344 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 class ChildProperty
+        internal static new 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 new static LinearLayout DownCast(BaseHandle handle)
+        public 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 f3bebb0..84cafc3 100755 (executable)
@@ -128,6 +128,35 @@ 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));
@@ -142,16 +171,6 @@ 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 8d51bef..94a86c0 100644 (file)
@@ -6478,42 +6478,6 @@ 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);
 
@@ -10393,6 +10357,60 @@ 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 8e47d7d..5f2d12b 100755 (executable)
@@ -205,6 +205,29 @@ 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();
@@ -296,10 +319,24 @@ 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()
         {
@@ -37173,78 +37210,6 @@ 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 f7c31ac..94000db 100755 (executable)
@@ -147,9 +147,7 @@ namespace Tizen.NUI
             _application.AppControl += OnAppControl;
 
             _application.MainLoop();
-
             _application.Dispose();
-
         }
 
         /// <summary>
index cc597b5..5326936 100755 (executable)
@@ -65,7 +65,7 @@ namespace Tizen.NUI
         }
 
         //[Conditional("DEBUG_ON")]
-        static private void PrintDaliNativeVersion()
+        static internal 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
deleted file mode 100755 (executable)
index c41173c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * 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 921573e..fbd378a 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 9dce2ee..ac5c7f7 100755 (executable)
@@ -9,30 +9,15 @@ 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 (recycle && _dataTemplates.TryGetValue(item.GetType(), out dataTemplate))
-                // return dataTemplate;
+            if (_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 4b15ffa..a9862a9 100755 (executable)
@@ -58,11 +58,10 @@ namespace Tizen.NUI.Binding
         public static readonly BindableProperty CascadeInputTransparentProperty = BindableProperty.Create(
             nameof(CascadeInputTransparent), typeof(bool), typeof(Layout), true);
 
-        public static readonly BindableProperty PaddingProperty = PaddingElement.PaddingProperty;
+        public new 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);
@@ -126,59 +125,16 @@ 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(/*VisualElement*/BaseHandle child, Rectangle region)
+        public static void LayoutChildIntoBoundingRegion(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)
@@ -187,7 +143,6 @@ namespace Tizen.NUI.Binding
                 return;
 
             InternalChildren.Move(InternalChildren.IndexOf(view), 0);
-            // OnChildrenReordered();
         }
 
         public void RaiseChild(View view)
@@ -196,13 +151,11 @@ 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();
         }
@@ -212,7 +165,7 @@ namespace Tizen.NUI.Binding
         protected void OnChildMeasureInvalidated(object sender, EventArgs e)
         {
             InvalidationTrigger trigger = (e as InvalidationEventArgs)?.Trigger ?? InvalidationTrigger.Undefined;
-            OnChildMeasureInvalidated((/*VisualElement*/BaseHandle)sender, trigger);
+            OnChildMeasureInvalidated((BaseHandle)sender, trigger);
             OnChildMeasureInvalidated();
         }
 
@@ -220,13 +173,6 @@ 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;
@@ -244,118 +190,33 @@ namespace Tizen.NUI.Binding
             if (!ShouldLayoutChildren())
                 return;
 
-            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);
+            LayoutChanged?.Invoke(this, EventArgs.Empty);
         }
 
         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(/*VisualElement*/BaseHandle child, InvalidationTrigger trigger)
+        internal virtual void OnChildMeasureInvalidated(BaseHandle child, InvalidationTrigger trigger)
         {
             ReadOnlyCollection<Element> children = LogicalChildrenInternal;
             int count = children.Count;
             for (var index = 0; index < count; index++)
             {
-                var v = LogicalChildrenInternal[index] as /*VisualElement*/BaseHandle;
-                if (v != null /*&& v.IsVisible && (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
+                var v = LogicalChildrenInternal[index] as BaseHandle;
+                if (v != null)
                     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 && 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);
+                //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;
+                }
             }
 
             s_resolutionList.Add(new KeyValuePair<Layout, int>(this, GetElementDepth(this)));
@@ -368,32 +229,10 @@ 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;
@@ -442,20 +281,16 @@ namespace Tizen.NUI.Binding
 
         void OnInternalAdded(View view)
         {
-            var parent = view.Parent as Layout;
+            var parent = view.GetParent() 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();
@@ -463,20 +298,15 @@ namespace Tizen.NUI.Binding
 
         bool ShouldLayoutChildren()
         {
-            // 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;
-            //         }
-            // }
+            if ( !LogicalChildrenInternal.Any() )
+                return false;
+
+            foreach (Element element in VisibleDescendants())
+            {
+                var visual = element as BaseHandle;
+                if (visual == null)
+                    continue;
+            }
             return true;
         }
     }
index f58b053..887f0d9 100755 (executable)
@@ -242,11 +242,6 @@ 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 d93517a..0b33234 100755 (executable)
@@ -13,19 +13,10 @@ 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);
             }
 
@@ -57,23 +48,9 @@ namespace Tizen.NUI.Binding
         {
             var self = (IControlTemplated)bindable;
             var newElement = (Element)newValue;
-            //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);
-            //  }
-            //}
+            var oldElement = (Element)oldValue;
+            if (newElement == oldElement)
+                return;
         }
 
         public static void OnControlTemplateChanged(BindableObject bindable, object oldValue, object newValue)
@@ -94,12 +71,7 @@ namespace Tizen.NUI.Binding
                     {
                         Element child = children[i];
                         var controlTemplated = child as IControlTemplated;
-
-                        // var presenter = child as ContentPresenter;
-                        // if (presenter != null)
-                        //     presenter.Clear();
-                        // else if (controlTemplated == null || controlTemplated.ControlTemplate == null)
-                        //     queue.Enqueue(child);
+                        queue.Enqueue(child);
                     }
                 }
             }
@@ -109,23 +81,6 @@ 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 10add14..4d1ecc3 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 cd11f18..eac66d5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -39,30 +39,34 @@ 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;
 
-        internal Adaptor(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(Adaptor 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 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>
@@ -76,6 +80,75 @@ namespace Tizen.NUI
             }
         }
 
+        [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
+        {
+            add
+            {
+                if (_resizedEventHandler == null)
+                {
+                    _resizedCallbackDelegate = (OnResized);
+                    ResizedSignal().Connect(_resizedCallbackDelegate);
+                }
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
+                {
+                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
+                }
+            }
+        }
+
+        /// <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 />
+        /// </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);
+                }
+            }
+        }
+
+        /// <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;
+            }
+        }
+
         /// <since_tizen> 4 </since_tizen>
         public void Dispose()
         {
@@ -97,36 +170,30 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Feeds a wheel event to the adaptor.
         /// </summary>
+        /// <param name="wheelEvent">The wheel event.</param>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public void FeedWheelEvent(Wheel wheelEvent)
         {
-            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.
+            NDalicManualPINVOKE.Adaptor_FeedWheelEvent(swigCPtr, Wheel.getCPtr(wheelEvent));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            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);
-            }
+        /// <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();
+        }
 
-            disposed = true;
+        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;
         }
 
         internal static Adaptor GetAdaptorFromPtr(global::System.IntPtr cPtr)
@@ -164,6 +231,24 @@ 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>
@@ -273,39 +358,6 @@ 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.
@@ -348,28 +400,6 @@ 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()
@@ -378,69 +408,51 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void SetViewMode(ViewMode viewMode)
+        internal AdaptorSignalType ResizedSignal()
         {
-            NDalicManualPINVOKE.Adaptor_SetViewMode(swigCPtr, (int)viewMode);
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <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)
+        internal AdaptorSignalType LanguageChangedSignal()
         {
-            NDalicManualPINVOKE.Adaptor_SetStereoBase(swigCPtr, stereoBase);
+            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_LanguageChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Event arguments that passed via the Resized signal.
+        /// Dispose.
         /// </summary>
-        internal class ResizedEventArgs : EventArgs
+        /// <since_tizen> 4 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-
-            /// <summary>
-            /// Adaptor - is the adaptor which has size changed.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public Adaptor Adaptor
+            if (disposed)
             {
-                get;
-                set;
+                return;
             }
-        }
-
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ResizedCallbackDelegate(IntPtr adaptor);
-        private EventHandler<ResizedEventArgs> _resizedEventHandler;
-        private ResizedCallbackDelegate _resizedCallbackDelegate;
 
-        /// <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
+            if (type == DisposeTypes.Explicit)
             {
-                if (_resizedEventHandler == null)
-                {
-                    _resizedCallbackDelegate = (OnResized);
-                    ResizedSignal().Connect(_resizedCallbackDelegate);
-                }
-                _resizedEventHandler += value;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-            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 (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                _resizedEventHandler -= value;
-                if (_resizedEventHandler == null && ResizedSignal().Empty() == false)
-                {
-                    ResizedSignal().Disconnect(_resizedCallbackDelegate);
-                }
+                swigCMemOwn = false;
+                NDalicManualPINVOKE.delete_Adaptor(swigCPtr);
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+
+            disposed = true;
         }
 
         private void OnResized(IntPtr adaptor)
@@ -458,21 +470,29 @@ namespace Tizen.NUI
             }
         }
 
-        internal AdaptorSignalType ResizedSignal()
+        private void OnLanguageChanged(IntPtr adaptor)
         {
-            AdaptorSignalType ret = new AdaptorSignalType(NDalicManualPINVOKE.Adaptor_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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);
+            }
         }
 
         /// <summary>
-        /// Event arguments that passed via the LanguageChanged signal.
+        /// Event arguments that passed via the Resized signal.
         /// </summary>
-        internal class LanguageChangedEventArgs : EventArgs
+        internal class ResizedEventArgs : EventArgs
         {
 
             /// <summary>
-            /// Adaptor - is the adaptor which has language changed.
+            /// Adaptor - is the adaptor which has size changed.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
             public Adaptor Adaptor
@@ -482,58 +502,23 @@ namespace Tizen.NUI
             }
         }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void LanguageChangedCallbackDelegate(IntPtr adaptor);
-        private EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
-        private LanguageChangedCallbackDelegate _languageChangedCallbackDelegate;
-
         /// <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 />
+        /// Event arguments that passed via the LanguageChanged signal.
         /// </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);
-                }
-            }
-        }
-
-        private void OnLanguageChanged(IntPtr adaptor)
+        internal class LanguageChangedEventArgs : EventArgs
         {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            if (adaptor != null)
-            {
-                e.Adaptor = Adaptor.GetAdaptorFromPtr(adaptor);
-            }
 
-            if (_languageChangedEventHandler != null)
+            /// <summary>
+            /// Adaptor - is the adaptor which has language changed.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Adaptor Adaptor
             {
-                //here we send all data to user event handlers
-                _languageChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        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 f1e3178..1394a26 100755 (executable)
@@ -26,98 +26,18 @@ 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;
 
-        /// <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;
-        }
+        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.<br />
@@ -151,11 +71,6 @@ 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 />
@@ -169,52 +84,28 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <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);
-        }
-
-        internal SWIGTYPE_p_f_float__float GetCustomFunction()
+        internal AlphaFunction(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            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;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        /// <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()
+        internal AlphaFunction(SWIGTYPE_p_f_float__float function) : this(NDalicPINVOKE.new_AlphaFunction__SWIG_2(SWIGTYPE_p_f_float__float.getCPtr(function)), true)
         {
-            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.
+        /// Dispose.
         /// </summary>
-        /// <returns>The functioning mode of the alpha function.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public AlphaFunction.Modes GetMode()
+        ~AlphaFunction()
         {
-            AlphaFunction.Modes ret = (AlphaFunction.Modes)NDalicPINVOKE.AlphaFunction_GetMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if(!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
@@ -306,6 +197,74 @@ 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;
@@ -314,78 +273,120 @@ 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 bbd98a7..99093e3 100755 (executable)
@@ -28,67 +28,33 @@ 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>
-        /// To make the Animatable instance be disposed.
+        /// Create an instance of animatable.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public Animatable() : this(NDalicPINVOKE.Handle_New(), 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 (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            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);
+        internal Animatable(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Handle_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Create an instance of animatable.
+        /// Enumeration for Handle's capabilities that can be queried.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Animatable() : this(NDalicPINVOKE.Handle_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal uint GetPropertyCount()
+        public enum Capability
         {
-            uint ret = NDalicPINVOKE.Handle_GetPropertyCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <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
         }
 
         /// <summary>
@@ -227,13 +193,6 @@ 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>
@@ -255,6 +214,25 @@ 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);
@@ -268,17 +246,39 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for Handle's capabilities that can be queried.
+        /// To make the Animatable instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum Capability
+        protected override void Dispose(DisposeTypes 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
+            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);
         }
 
     }
index bb995a5..de77c96 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -43,78 +43,19 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class Animation : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        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);
-        }
-
-        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)
-            {
-
-            }
+        private static bool? disableAnimation = null;
 
-            if (this != null)
-            {
-                this.Clear();
-            }
+        private global::System.Runtime.InteropServices.HandleRef 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.
+        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
+        private System.IntPtr _finishedCallbackOfNative;
 
-            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);
-            }
+        private AnimationProgressReachedEventCallbackType _animationProgressReachedEventCallback;
 
-            base.Dispose(type);
-        }
+        private string[] _properties = null;
+        private string[] _destValue = null;
+        private int[] _startTime = null;
+        private int[] _endTime = null;
 
         /// <summary>
         /// Creates an initialized animation.<br />
@@ -130,12 +71,21 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private AnimationFinishedEventCallbackType _animationFinishedEventCallback;
+        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);
+        }
+
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
         private delegate void AnimationFinishedEventCallbackType(IntPtr data);
-        private event EventHandler _animationFinishedEventHandler;
 
-        private System.IntPtr _finishedCallbackOfNative;
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void AnimationProgressReachedEventCallbackType(IntPtr data);
+
+        private event EventHandler _animationFinishedEventHandler;
 
         /**
         * @brief Event for the finished signal which can be used to subscribe or unsubscribe the event handler.
@@ -162,23 +112,13 @@ 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
         {
@@ -202,26 +142,64 @@ namespace Tizen.NUI
                 }
             }
         }
-        private void OnProgressReached(IntPtr data)
+
+        /// <summary>
+        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        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
         }
 
-
         /// <summary>
         /// Gets or sets the duration in milliseconds of the animation.
         /// </summary>
@@ -326,19 +304,6 @@ 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 />
@@ -462,178 +427,214 @@ namespace Tizen.NUI
         }
 
         /// <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="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 string[] Properties
         {
-            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
-
-            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
-            if(propertyType.Equals(PropertyType.Float))
-            {
-                System.Type type = relativeValue.GetType();
-                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
-                {
-                    int num = (int)relativeValue;
-                    relativeValue = (float)num;
-                }
-            }
-
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
-
-            if (alphaFunction != null)
+            get
             {
-                AnimateBy(_prop, val, alphaFunction);
+                return _properties;
             }
-            else
+            set
             {
-                AnimateBy(_prop, val);
+                _properties = value;
             }
         }
 
         /// <summary>
-        /// Animates a property value by a relative amount.<br />
+        /// Gets or sets the destination value 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="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[] DestValue
         {
-            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 _destValue;
             }
+            set
+            {
+                _destValue = value;
+            }
+        }
 
-            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
-
-            if (alphaFunction != null)
+        /// <summary>
+        /// Gets or sets the start time for each property of the animation.
+        /// </summary>
+        public int[] StartTime
+        {
+            get
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, alphaFunction, time);
+                return _startTime;
             }
-            else
+            set
             {
-                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
-                AnimateBy(_prop, val, time);
+                _startTime = value;
             }
         }
 
         /// <summary>
-        /// Animates a property to a destination value.<br />
+        /// Gets or sets the end time for each property of the animation.
         /// </summary>
-        /// <param name="target">The target object to animate.</param>
+        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 />
+        /// </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="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 AnimateTo(View target, string property, object destinationValue, AlphaFunction alphaFunction = null)
+        public void AnimateBy(View target, string property, object relativeValue, 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 = destinationValue.GetType();
+                System.Type type = relativeValue.GetType();
                 if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
                 {
-                    int num = (int)destinationValue;
-                    destinationValue = (float)num;
+                    int num = (int)relativeValue;
+                    relativeValue = (float)num;
                 }
             }
 
-            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
             if (alphaFunction != null)
             {
-                AnimateTo(_prop, val, alphaFunction);
+                AnimateBy(_prop, val, alphaFunction);
             }
             else
             {
-                AnimateTo(_prop, val);
+                AnimateBy(_prop, val);
             }
         }
-        private string[] _properties = null;
 
         /// <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="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
-            {
-                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;
+                }
             }
-        }
 
-        private string[] _destValue = null;
+            PropertyValue val = PropertyValue.CreateFromObject(relativeValue);
 
-        /// <summary>
-        /// Gets or sets the destination value for each property of the animation.
-        /// </summary>
-        public string[] DestValue
-        {
-            get
+            if (alphaFunction != null)
             {
-                return _destValue;
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, alphaFunction, time);
             }
-            set
+            else
             {
-                _destValue = value;
+                Tizen.NUI.TimePeriod time = new Tizen.NUI.TimePeriod(MilliSecondsToSeconds(startTime), MilliSecondsToSeconds(endTime - startTime));
+                AnimateBy(_prop, val, time);
             }
         }
 
-        private int[] _startTime = null;
-
         /// <summary>
-        /// Gets or sets the start time for each property of the animation.
+        /// Animates a property to a destination value.<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="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)
         {
-            get
-            {
-                return _startTime;
-            }
-            set
+            Property _prop = PropertyHelper.GetPropertyFromString(target, property);
+
+            PropertyType propertyType = target.GetPropertyType(_prop.propertyIndex);
+            if (propertyType.Equals(PropertyType.Float))
             {
-                _startTime = value;
+                System.Type type = destinationValue.GetType();
+                if (type.Equals(typeof(System.Int32)) || type.Equals(typeof(int)))
+                {
+                    int num = (int)destinationValue;
+                    destinationValue = (float)num;
+                }
             }
-        }
 
-        private int[] _endTime = null;
+            PropertyValue val = PropertyValue.CreateFromObject(destinationValue);
 
-        /// <summary>
-        /// Gets or sets the end time for each property of the animation.
-        /// </summary>
-        public int[] EndTime
-        {
-            get
+            if (alphaFunction != null)
             {
-                return _endTime;
+                AnimateTo(_prop, val, alphaFunction);
             }
-            set
+            else
             {
-                _endTime = value;
+                AnimateTo(_prop, val);
             }
         }
 
@@ -657,7 +658,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]);
                         }
@@ -667,147 +668,6 @@ 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>
@@ -823,7 +683,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)))
@@ -875,7 +735,6 @@ namespace Tizen.NUI
             }
         }
 
-
         /// <summary>
         /// Animates a property between keyframes.
         /// </summary>
@@ -949,37 +808,235 @@ namespace Tizen.NUI
             }
         }
 
-        /// <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)
+        /// <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;
+        }
+
+        internal string GetTypeConverterTypeName(IEnumerable<CustomAttributeData> attributes)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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 Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
+        internal MethodInfo GetImplicitConversionOperator(Type onType, Type fromType, Type toType)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+#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>
-        /// 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)
+        internal Animation(float durationSeconds) : this(NDalicPINVOKE.Animation_New(durationSeconds), true)
         {
-            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)
@@ -1118,72 +1175,6 @@ 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);
@@ -1191,27 +1182,6 @@ 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);
@@ -1359,60 +1329,89 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for what to do when the animation ends, stopped, or destroyed.
+        /// To make animation instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum EndActions
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <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 (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>
-        /// Enumeration for what interpolation method to use on key-frame animations.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum Interpolation
+        private void OnFinished(IntPtr data)
         {
-            /// <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
+            if (_animationFinishedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationFinishedEventHandler(this, null);
+            }
         }
 
-        /// <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 void OnProgressReached(IntPtr data)
         {
-            /// <summary>
-            /// The animation has stopped.
-            /// </summary>
-            Stopped,
-            /// <summary>
-            /// The animation is playing.
-            /// </summary>
-            Playing,
-            /// <summary>
-            /// The animation is paused.
-            /// </summary>
-            Paused
+            if (_animationProgressReachedEventHandler != null)
+            {
+                //here we send all data to user event handlers
+                _animationProgressReachedEventHandler(this, null);
+            }
+        }
+
+        private float MilliSecondsToSeconds(int millisec)
+        {
+            return (float)millisec / 1000.0f;
+        }
+
+        private int SecondsToMilliSeconds(float sec)
+        {
+            return (int)(sec * 1000);
         }
 
     }
index d90c82b..b3b0a9f 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("Text", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(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("TextColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(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("FontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(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("FontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(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("PointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(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("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextEditor), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(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("ScrollThreshold", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(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("ScrollSpeed", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(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("PrimaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(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("SecondaryCursorColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(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("EnableCursorBlink", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(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("CursorBlinkInterval", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(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("CursorBlinkDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(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("CursorWidth", typeof(int), typeof(TextEditor), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(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("GrabHandleImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(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("GrabHandlePressedImage", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(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("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(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("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(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("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(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("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(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("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(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("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(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("SelectionHighlightColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(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("DecorationBoundingBox", typeof(Rectangle), typeof(TextEditor), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(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("EnableMarkup", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(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("InputColor", typeof(Vector4), typeof(TextEditor), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(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("InputFontFamily", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(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("InputFontStyle", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(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("InputPointSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(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("LineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(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("InputLineSpacing", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputLineSpacingProperty = BindableProperty.Create(nameof(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("Underline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(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("InputUnderline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(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("Shadow", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(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("InputShadow", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(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("Emboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(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("InputEmboss", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(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("Outline", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(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("InputOutline", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(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("SmoothScroll", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollProperty = BindableProperty.Create(nameof(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("SmoothScrollDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SmoothScrollDurationProperty = BindableProperty.Create(nameof(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("EnableScrollBar", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableScrollBarProperty = BindableProperty.Create(nameof(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("ScrollBarShowDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarShowDurationProperty = BindableProperty.Create(nameof(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("ScrollBarFadeDuration", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollBarFadeDurationProperty = BindableProperty.Create(nameof(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("PixelSize", typeof(float), typeof(TextEditor), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(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("PlaceholderText", typeof(string), typeof(TextEditor), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(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("PlaceholderTextColor", typeof(Color), typeof(TextEditor), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(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("EnableSelection", typeof(bool), typeof(TextEditor), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(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("Placeholder", typeof(PropertyMap), typeof(TextEditor), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(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("LineWrapMode", typeof(LineWrapMode), typeof(TextEditor), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(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("EnableShiftSelection", typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextEditor.EnableShiftSelection), typeof(bool), typeof(TextEditor), true, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textEditor = (TextEditor)bindable;
             if (newValue != null)
@@ -917,6 +917,23 @@ 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;
@@ -1193,6 +1210,7 @@ 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
@@ -1250,6 +1268,7 @@ 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)
@@ -2267,6 +2286,24 @@ 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 cff7bb4..ba331db 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("Text", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextProperty = BindableProperty.Create(nameof(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("PlaceholderText", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextProperty = BindableProperty.Create(nameof(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("PlaceholderTextFocused", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextFocusedProperty = BindableProperty.Create(nameof(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("FontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(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("FontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(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("PointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(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("MaxLength", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MaxLengthProperty = BindableProperty.Create(nameof(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("ExceedPolicy", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ExceedPolicyProperty = BindableProperty.Create(nameof(ExceedPolicy), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -169,35 +169,11 @@ 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("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextField), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(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));
             }
         },
@@ -220,19 +196,11 @@ 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("VerticalAlignment", typeof(VerticalAlignment), typeof(TextField), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(TextField.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));
             }
         },
@@ -255,7 +223,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("TextColor", typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(TextField.TextColor), typeof(Color), typeof(TextField), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -272,7 +240,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("PlaceholderTextColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderTextColorProperty = BindableProperty.Create(nameof(TextField.PlaceholderTextColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -289,7 +257,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("ShadowOffset", typeof(Vector2), typeof(TextField), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create(nameof(TextField.ShadowOffset), typeof(Vector2), typeof(TextField), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -306,7 +274,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("ShadowColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create(nameof(TextField.ShadowColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -323,7 +291,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("PrimaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PrimaryCursorColorProperty = BindableProperty.Create(nameof(TextField.PrimaryCursorColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -340,7 +308,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("SecondaryCursorColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SecondaryCursorColorProperty = BindableProperty.Create(nameof(TextField.SecondaryCursorColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -357,7 +325,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("EnableCursorBlink", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableCursorBlinkProperty = BindableProperty.Create(nameof(TextField.EnableCursorBlink), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -374,7 +342,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("CursorBlinkInterval", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkIntervalProperty = BindableProperty.Create(nameof(TextField.CursorBlinkInterval), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -391,7 +359,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("CursorBlinkDuration", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorBlinkDurationProperty = BindableProperty.Create(nameof(TextField.CursorBlinkDuration), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -408,7 +376,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("CursorWidth", typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty CursorWidthProperty = BindableProperty.Create(nameof(TextField.CursorWidth), typeof(int), typeof(TextField), default(int), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -425,7 +393,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("GrabHandleImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandleImageProperty = BindableProperty.Create(nameof(TextField.GrabHandleImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -442,7 +410,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("GrabHandlePressedImage", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty GrabHandlePressedImageProperty = BindableProperty.Create(nameof(TextField.GrabHandlePressedImage), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -459,7 +427,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("ScrollThreshold", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollThresholdProperty = BindableProperty.Create(nameof(TextField.ScrollThreshold), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -476,7 +444,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("ScrollSpeed", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ScrollSpeedProperty = BindableProperty.Create(nameof(TextField.ScrollSpeed), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -493,7 +461,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("SelectionHandleImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -510,7 +478,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("SelectionHandleImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -527,7 +495,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("SelectionHandlePressedImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -544,7 +512,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("SelectionHandlePressedImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandlePressedImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandlePressedImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -561,7 +529,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("SelectionHandleMarkerImageLeft", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageLeftProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageLeft), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -578,7 +546,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("SelectionHandleMarkerImageRight", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHandleMarkerImageRightProperty = BindableProperty.Create(nameof(TextField.SelectionHandleMarkerImageRight), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -595,7 +563,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("SelectionHighlightColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty SelectionHighlightColorProperty = BindableProperty.Create(nameof(TextField.SelectionHighlightColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -612,7 +580,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("DecorationBoundingBox", typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty DecorationBoundingBoxProperty = BindableProperty.Create(nameof(TextField.DecorationBoundingBox), typeof(Rectangle), typeof(TextField), new Rectangle(0,0,0,0), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -629,7 +597,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("InputMethodSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputMethodSettingsProperty = BindableProperty.Create(nameof(TextField.InputMethodSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -646,7 +614,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("InputColor", typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputColorProperty = BindableProperty.Create(nameof(TextField.InputColor), typeof(Vector4), typeof(TextField), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -663,7 +631,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("EnableMarkup", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(TextField.EnableMarkup), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -680,7 +648,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("InputFontFamily", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontFamilyProperty = BindableProperty.Create(nameof(TextField.InputFontFamily), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -697,7 +665,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("InputFontStyle", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputFontStyleProperty = BindableProperty.Create(nameof(TextField.InputFontStyle), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -714,7 +682,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("InputPointSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputPointSizeProperty = BindableProperty.Create(nameof(TextField.InputPointSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -731,7 +699,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("Underline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(TextField.Underline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -748,7 +716,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("InputUnderline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputUnderlineProperty = BindableProperty.Create(nameof(TextField.InputUnderline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -765,7 +733,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("Shadow", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(TextField.Shadow), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -782,7 +750,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("InputShadow", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputShadowProperty = BindableProperty.Create(nameof(TextField.InputShadow), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -799,7 +767,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("Emboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(TextField.Emboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -816,7 +784,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("InputEmboss", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputEmbossProperty = BindableProperty.Create(nameof(TextField.InputEmboss), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -833,7 +801,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("Outline", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(TextField.Outline), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -850,7 +818,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("InputOutline", typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty InputOutlineProperty = BindableProperty.Create(nameof(TextField.InputOutline), typeof(string), typeof(TextField), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -867,7 +835,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("HiddenInputSettings", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HiddenInputSettingsProperty = BindableProperty.Create(nameof(TextField.HiddenInputSettings), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -884,7 +852,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("PixelSize", typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(TextField.PixelSize), typeof(float), typeof(TextField), default(float), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -901,7 +869,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("EnableSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableSelectionProperty = BindableProperty.Create(nameof(TextField.EnableSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -918,7 +886,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("Placeholder", typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PlaceholderProperty = BindableProperty.Create(nameof(TextField.Placeholder), typeof(PropertyMap), typeof(TextField), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -935,7 +903,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("Ellipsis", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(TextField.Ellipsis), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -952,7 +920,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("EnableShiftSelection", typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableShiftSelectionProperty = BindableProperty.Create(nameof(TextField.EnableShiftSelection), typeof(bool), typeof(TextField), false, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textField = (TextField)bindable;
             if (newValue != null)
@@ -967,7 +935,23 @@ 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;
@@ -1232,6 +1216,7 @@ 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
@@ -1289,6 +1274,7 @@ 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)
@@ -2316,5 +2302,24 @@ 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 1f6e3cb..7215f4c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -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("FontFamily", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontFamilyProperty = BindableProperty.Create(nameof(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("FontStyle", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty FontStyleProperty = BindableProperty.Create(nameof(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("PointSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PointSizeProperty = BindableProperty.Create(nameof(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("MultiLine", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty MultiLineProperty = BindableProperty.Create(nameof(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("HorizontalAlignment", typeof(HorizontalAlignment), typeof(TextLabel), HorizontalAlignment.Begin, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty HorizontalAlignmentProperty = BindableProperty.Create(nameof(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("VerticalAlignment", typeof(VerticalAlignment), typeof(TextLabel), VerticalAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalAlignmentProperty = BindableProperty.Create(nameof(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("TextColor", typeof(Color), typeof(TextLabel), Color.Transparent, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty TextColorProperty = BindableProperty.Create(nameof(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("ShadowOffset", typeof(Vector2), typeof(TextLabel), Vector2.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowOffsetProperty = BindableProperty.Create(nameof(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("ShadowColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowColorProperty = BindableProperty.Create(nameof(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("UnderlineEnabled", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineEnabledProperty = BindableProperty.Create(nameof(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("UnderlineColor", typeof(Vector4), typeof(TextLabel), Vector4.Zero, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineColorProperty = BindableProperty.Create(nameof(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("UnderlineHeight", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineHeightProperty = BindableProperty.Create(nameof(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("EnableMarkup", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableMarkupProperty = BindableProperty.Create(nameof(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("EnableAutoScroll", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EnableAutoScrollProperty = BindableProperty.Create(nameof(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("AutoScrollSpeed", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollSpeedProperty = BindableProperty.Create(nameof(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("AutoScrollLoopCount", typeof(int), typeof(TextLabel), default(int), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopCountProperty = BindableProperty.Create(nameof(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("AutoScrollGap", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollGapProperty = BindableProperty.Create(nameof(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("LineSpacing", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineSpacingProperty = BindableProperty.Create(nameof(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("Underline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty UnderlineProperty = BindableProperty.Create(nameof(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("Shadow", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty ShadowProperty = BindableProperty.Create(nameof(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("Emboss", typeof(string), typeof(TextLabel), string.Empty, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EmbossProperty = BindableProperty.Create(nameof(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("Outline", typeof(PropertyMap), typeof(TextLabel), new PropertyMap(), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty OutlineProperty = BindableProperty.Create(nameof(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("PixelSize", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty PixelSizeProperty = BindableProperty.Create(nameof(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("Ellipsis", typeof(bool), typeof(TextLabel), false, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty EllipsisProperty = BindableProperty.Create(nameof(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("AutoScrollLoopDelay", typeof(float), typeof(TextLabel), default(float), propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollLoopDelayProperty = BindableProperty.Create(nameof(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("AutoScrollStopMode", typeof(AutoScrollStopMode), typeof(TextLabel), AutoScrollStopMode.FinishLoop, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty AutoScrollStopModeProperty = BindableProperty.Create(nameof(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("LineWrapMode", typeof(LineWrapMode), typeof(TextLabel), LineWrapMode.Word, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty LineWrapModeProperty = BindableProperty.Create(nameof(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("VerticalLineAlignment", typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
+        public static readonly BindableProperty VerticalLineAlignmentProperty = BindableProperty.Create(nameof(VerticalLineAlignment), typeof(VerticalLineAlignment), typeof(TextLabel), VerticalLineAlignment.Bottom, propertyChanged: (bindable, oldValue, newValue) =>
         {
             var textLabel = (TextLabel)bindable;
             if (newValue != null)
@@ -571,7 +571,23 @@ 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;
@@ -676,6 +692,7 @@ 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>
@@ -704,6 +721,9 @@ 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();
@@ -1307,5 +1327,24 @@ 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 79c45d7..cf34305 100755 (executable)
@@ -158,13 +158,7 @@ namespace Tizen.NUI.BaseComponents
             {
                 NUILog.Error("State get error!");
             }
-            switch (temp)
-            {
-                case 0: return States.Normal;
-                case 1: return States.Focused;
-                case 2: return States.Disabled;
-                default: return States.Normal;
-            }
+            return (States)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)]
@@ -225,6 +219,8 @@ 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 5b7355e..012e523 100755 (executable)
@@ -29,30 +29,48 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class BaseHandle : Element, global::System.IDisposable
     {
-        /// <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)
         {
@@ -92,20 +110,6 @@ 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>
@@ -120,65 +124,34 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Event when a property is set.
         /// </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.");
-            }
+        /// <since_tizen> 5 </since_tizen>
+        public event PropertyChangedEventHandler PropertySet;
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
+        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+        {
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return swigCPtr;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// For internal use.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        internal NavigationProxy NavigationProxy
         {
-            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);
-            }
+            get { return Navigation as NavigationProxy; }
+        }
 
-            disposed = true;
+        /// <summary>
+        /// Gets the navigation.
+        /// </summary>
+        internal INavigation Navigation
+        {
+            get { return (INavigation)GetValue(NavigationProperty); }
+            set { SetValue(NavigationPropertyKey, value); }
         }
 
         /// <summary>
@@ -341,25 +314,28 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Create an instance of BaseHandle.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public BaseHandle() : this(NDalicPINVOKE.new_BaseHandle__SWIG_1())
+        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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
-
         /// <summary>
         /// Performs an action on this object with the given action name and attributes.
         /// </summary>
@@ -437,14 +413,6 @@ 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>
@@ -480,29 +448,61 @@ namespace Tizen.NUI
             return ret;
         }
 
-        internal global::System.Runtime.InteropServices.HandleRef GetBaseHandleCPtrHandleRef
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(BaseHandle obj)
         {
-            get
-            {
-                return swigCPtr;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// For internal use.
-        /// </summary>
-        internal NavigationProxy NavigationProxy
+        internal void NotifyPropertyChanged([CallerMemberName] String propertyName = "")
         {
-            get { return Navigation as NavigationProxy; }
+            PropertySet?.Invoke(this, new PropertyChangedEventArgs(propertyName));
+        }
+
+        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>
-        /// 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>
index eb97c04..0bb24ea 100755 (executable)
@@ -27,32 +27,115 @@ namespace Tizen.NUI
     [TypeConverter(typeof(ColorTypeConverter))]
     public class Color : global::System.IDisposable
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+
+        /// <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>
         /// swigCMemOwn
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         protected bool swigCMemOwn;
 
-        internal Color(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Color obj)
+
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// 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 bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -60,7 +143,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Color()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -68,60 +151,113 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// To make a color instance be disposed.
+        /// The red component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float R
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                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;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The green component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float G
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector4_g_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector4_g_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The blue component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float B
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector4_b_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector4_b_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.
+        /// <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;
+            }
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <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
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                return ValueOfIndex(index);
             }
-            disposed = true;
+        }
+
+        /// <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);
         }
 
         /// <summary>
@@ -182,7 +318,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);
@@ -208,64 +344,186 @@ 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>
-        /// The array subscript operator overload.
+        /// To make a color instance be disposed.
         /// </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 void Dispose()
         {
-            get
+            //Throw excpetion if Dispose() is called in separate thread.
+            if (!Window.IsInstalled())
             {
-                return ValueOfIndex(index);
+                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
             }
-        }
 
-        internal static Color GetColorFromPtr(global::System.IntPtr cPtr)
-        {
-            Color ret = new Color(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// Default constructor
+        /// 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 Color() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+        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>
-        /// The constructor.
+        /// Checks if two color classes are different.
         /// </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>
+        /// <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 Color(float r, float g, float b, float a) : this(NDalicPINVOKE.new_Vector4__SWIG_1(ValueCheck(r), ValueCheck(g), ValueCheck(b), ValueCheck(a)), true)
+        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)
+        {
+            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>
-        /// The conversion constructor from an array of four floats.
+        /// Dispose.
         /// </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)
+        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_Vector4(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
         private Color Add(Color rhs)
@@ -359,36 +617,6 @@ 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);
@@ -396,234 +624,6 @@ 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 648d5bb..2c05dc6 100755 (executable)
@@ -28,9 +28,13 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public abstract class Container : Animatable
     {
-
-        private List<View> _childViews = new List<View>();
         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
+        }
 
         /// <summary>
         /// List of children of Container.
@@ -44,23 +48,34 @@ namespace Tizen.NUI
             }
         }
 
-        internal Container(global::System.IntPtr cPtr, bool cMemoryOwn) : base(cPtr, cMemoryOwn)
+        /// <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
         {
-            // No un-managed data hence no need to store a native ptr
+            get
+            {
+                return GetParent();
+            }
         }
 
         /// <summary>
-        /// Dispose.
+        /// 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>
-        protected override void Dispose(DisposeTypes type)
+        public uint ChildCount
         {
-            if (disposed)
+            get
             {
-                return;
+                return GetChildCount();
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
@@ -71,7 +86,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.
@@ -79,7 +94,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.
@@ -88,7 +103,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.
@@ -107,33 +122,18 @@ namespace Tizen.NUI
         public abstract UInt32 GetChildCount();
 
         /// <summary>
-        /// Gets the parent container.
-        /// Read only
+        /// Dispose.
         /// </summary>
-        /// <pre>The child container has been initialized.</pre>
-        /// <returns>The parent container.</returns>
         /// <since_tizen> 4 </since_tizen>
-        public new Container Parent
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                return GetParent();
+                return;
             }
-        }
 
-        /// <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();
-            }
+            base.Dispose(type);
         }
+
     }
 } // namespace Tizen.NUI
index 58292f7..92b0d2b 100755 (executable)
@@ -74,6 +74,16 @@ 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>
@@ -87,15 +97,6 @@ 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>
@@ -135,30 +136,6 @@ 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.
@@ -183,6 +160,21 @@ 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()
         {
@@ -194,70 +186,14 @@ namespace Tizen.NUI
             _propertyRangeManager = new PropertyRangeManager();
         }
 
-        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>
-        /// 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);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr CreateControlDelegate(IntPtr cPtrControlName);
 
-            NUILog.Debug("SetControlProperty  called for:" + name);
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate IntPtr GetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName);
 
-            Instance.SetPropertyValue(controlPtr, name, propertyValue);
-        }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void SetPropertyDelegate(IntPtr controlPtr, IntPtr propertyName, IntPtr propertyValue);
 
         /// <since_tizen> 3 </since_tizen>
         public static CustomViewRegistry Instance
@@ -332,6 +268,71 @@ 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 f0d6d9c..6975988 100755 (executable)
@@ -25,31 +25,58 @@ 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;
 
-        internal Degree(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Degree obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// Creates an angle in degrees from a radian.
         /// </summary>
+        /// <param name="value">The initial value in radians.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -57,7 +84,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Degree()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -65,6 +92,25 @@ 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>
@@ -87,6 +133,11 @@ 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>
@@ -121,54 +172,6 @@ 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 3a7ad14..87907fd 100755 (executable)
@@ -26,102 +26,23 @@ 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;
 
-        /// <summary>
-        /// Destructor.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        ~Extents()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <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.
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-            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;
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// Constructor.
@@ -155,44 +76,23 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        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)
+        internal Extents(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            Extents ret = new Extents(NDalicPINVOKE.Extents_Assign__SWIG_0(swigCPtr, Extents.getCPtr(copy)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Equality operator.
+        /// Destructor.
         /// </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)
+        ~Extents()
         {
-            bool ret = NDalicPINVOKE.Extents_NotEqualTo(swigCPtr, Extents.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            if (!isDisposeQueued)
+            {
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
+            }
         }
 
         /// <summary>
@@ -271,6 +171,109 @@ 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 100644 (file)
new mode 100755 (executable)
index 3f9d3d2..0c0dd31 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -30,82 +30,49 @@ 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 static global::System.Runtime.InteropServices.HandleRef getCPtr(FocusManager obj)
+        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        ///<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 IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
 
-            /// <summary>
-            /// The current focus view.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View CurrentView
-            {
-                get
-                {
-                    return _current;
-                }
-                set
-                {
-                    _current = value;
-                }
-            }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        internal delegate void FocusChangedEventCallback(IntPtr current, IntPtr next);
 
-            /// <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 FocusGroupChangedEventCallback(IntPtr current, bool forwardDirection);
 
-            /// <summary>
-            /// The focus move direction.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View.FocusDirection Direction
-            {
-                get
-                {
-                    return _direction;
-                }
-                set
-                {
-                    _direction = value;
-                }
-            }
-        }
+        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
+        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
 
-        private EventHandlerWithReturnType<object, PreFocusChangeEventArgs, View> _preFocusChangeEventHandler;
         [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        internal delegate IntPtr PreFocusChangeEventCallback(IntPtr current, IntPtr proposed, View.FocusDirection direction);
-        private PreFocusChangeEventCallback _preFocusChangeCallback;
+        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
 
         /// <summary>
         /// PreFocusChange will be triggered before the focus is going to be changed.<br />
@@ -136,83 +103,6 @@ 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>
@@ -239,66 +129,6 @@ 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 />
@@ -327,98 +157,130 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnFocusGroupChanged(IntPtr current, bool forwardDirection)
+        /// <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
         {
-            FocusGroupChangedEventArgs e = new FocusGroupChangedEventArgs();
-
-            e.CurrentView = Registry.GetManagedBaseHandleFromNativePtr(current) as View;
-            e.ForwardDirection = forwardDirection;
-
-            if (_focusGroupChangedEventHandler != null)
+            add
             {
-                _focusGroupChangedEventHandler(this, e);
+                if (_focusedViewEnterKeyEventCallback == null)
+                {
+                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
+                }
+                _focusedViewEnterKeyEventHandler += value;
+            }
+            remove
+            {
+                _focusedViewEnterKeyEventHandler -= value;
+
+                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
+                {
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
+                }
             }
         }
 
-        ///<summary>
-        /// Event arguments that passed via the FocusedViewEnterKey signal.
+        /// <summary>
+        /// [Obsolete("Please do not use! this will be deprecated")]
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class FocusedViewActivatedEventArgs : EventArgs
+        /// 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
         {
-            private View _view;
-
-            /// <summary>
-            /// View.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public View View
+            add
             {
-                get
+                if (_focusedViewEnterKeyEventCallback2 == null)
                 {
-                    return _view;
+                    _focusedViewEnterKeyEventCallback2 = OnFocusedViewEnterKey2;
+                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback2);
                 }
-                set
+                _focusedViewEnterKeyEventHandler2 += value;
+            }
+            remove
+            {
+                _focusedViewEnterKeyEventHandler2 -= value;
+
+                if (_focusedViewEnterKeyEventCallback2 != null && FocusedViewEnterKeySignal().Empty() == false)
                 {
-                    _view = value;
+                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback2);
                 }
             }
         }
 
-        private EventHandler<FocusedViewActivatedEventArgs> _focusedViewEnterKeyEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback(IntPtr view);
-        private FocusedViewEnterKeyEventCallback _focusedViewEnterKeyEventCallback;
+        /// <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);
+        }
 
         /// <summary>
-        /// The FocusedViewActivated will be triggered when the current focused view has the enter key pressed on it.
+        /// 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 event EventHandler<FocusedViewActivatedEventArgs> FocusedViewActivated
+        public bool FocusGroupLoop
         {
-            add
+            set
             {
-                if (_focusedViewEnterKeyEventCallback == null)
-                {
-                    _focusedViewEnterKeyEventCallback = OnFocusedViewEnterKey;
-                    FocusedViewEnterKeySignal().Connect(_focusedViewEnterKeyEventCallback);
-                }
-                _focusedViewEnterKeyEventHandler += value;
+                SetFocusGroupLoop(value);
             }
-            remove
+            get
             {
-                _focusedViewEnterKeyEventHandler -= value;
-
-                if (_focusedViewEnterKeyEventCallback != null && FocusedViewEnterKeySignal().Empty() == false)
-                {
-                    FocusedViewEnterKeySignal().Disconnect(_focusedViewEnterKeyEventCallback);
-                }
+                return GetFocusGroupLoop();
             }
         }
 
-        private void OnFocusedViewEnterKey(IntPtr view)
+        /// <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
         {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
-
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
-
-            if (_focusedViewEnterKeyEventHandler != null)
+            set
             {
-                _focusedViewEnterKeyEventHandler(this, e);
+                SetFocusIndicatorView(value);
+            }
+            get
+            {
+                return GetFocusIndicatorView();
             }
         }
 
-
-        internal FocusManager() : this(NDalicManualPINVOKE.new_FocusManager(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal static FocusManager Get()
+        /// <summary>
+        /// Gets the singleton of the FocusManager object.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static FocusManager Instance
         {
-            FocusManager ret = new FocusManager(NDalicManualPINVOKE.FocusManager_Get(), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -493,36 +355,6 @@ 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>
@@ -567,20 +399,42 @@ namespace Tizen.NUI
         }
 
         /// <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 />
+        /// 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 View FocusIndicator
+        public void SetCustomAlgorithm(ICustomFocusAlgorithm arg0)
         {
-            set
-            {
-                SetFocusIndicatorView(value);
-            }
-            get
-            {
-                return GetFocusIndicatorView();
-            }
+            _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()
+        {
+            bool ret = NDalicManualPINVOKE.FocusManager_GetFocusGroupLoop(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetFocusIndicatorView(View indicator)
@@ -601,20 +455,6 @@ 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);
@@ -643,74 +483,241 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private static readonly FocusManager instance = FocusManager.Get();
+        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);
+            }
+        }
 
         /// <summary>
-        /// Gets the singleton of the FocusManager object.
+        /// Please do not use! this will be deprecated!
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static FocusManager Instance
+        /// 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)
         {
-            get
+            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+
+            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+
+            if (_focusedViewEnterKeyEventHandler != null)
             {
-                return instance;
+                _focusedViewEnterKeyEventHandler(this, e);
             }
         }
 
-        /// <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>
+        /// Event arguments that passed via the PreFocusChange signal.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public interface ICustomFocusAlgorithm
+        public class PreFocusChangeEventArgs : EventArgs
         {
+            private View _current;
+            private View _proposed;
+            private View.FocusDirection _direction;
+
             /// <summary>
-            /// Get the next focus actor.
+            /// The current focus view.
             /// </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);
+            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
+                {
+                    return _direction;
+                }
+                set
+                {
+                    _direction = value;
+                }
+            }
         }
 
-        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
+        ///<summary>
+        /// Event arguments that passed via the FocusChanged signal.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class FocusChangedEventArgs : EventArgs
         {
-            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
+            private View _current;
+            private View _next;
 
-            public CustomAlgorithmInterfaceWrapper()
+            /// <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;
+                }
             }
+        }
 
-            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
+        ///<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
             {
-                _customFocusAlgorithm = customFocusAlgorithm;
+                get
+                {
+                    return _current;
+                }
+                set
+                {
+                    _current = value;
+                }
             }
 
-            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
+            /// <summary>
+            /// The forward direction.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool ForwardDirection
             {
-                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
+                get
+                {
+                    return _forwardDirection;
+                }
+                set
+                {
+                    _forwardDirection = value;
+                }
             }
         }
 
-
-        /// <summary>
-        /// 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 FocusedViewActivatedEventArgs.
-        [Obsolete("Please do not use! This will be deprecated! Please use FocusedViewActivatedEventArgs instead! " +
-            "Like: " +
-            "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
-            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs arg)" +
-            "{...}")]
-        [EditorBrowsable(EditorBrowsableState.Never)]
-        public class FocusedViewEnterKeyEventArgs : EventArgs
+        public class FocusedViewActivatedEventArgs : EventArgs
         {
             private View _view;
 
@@ -731,61 +738,58 @@ namespace Tizen.NUI
             }
         }
 
-        private EventHandler<FocusedViewEnterKeyEventArgs> _focusedViewEnterKeyEventHandler2;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void FocusedViewEnterKeyEventCallback2(IntPtr view);
-        private FocusedViewEnterKeyEventCallback2 _focusedViewEnterKeyEventCallback2;
-
         /// <summary>
-        /// [Obsolete("Please do not use! this will be deprecated")]
+        /// 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! " +
+        /// Please do not use! this will be deprecated.
+        /// Instead please use FocusedViewActivatedEventArgs.
+        [Obsolete("Please do not use! This will be deprecated! Please use FocusedViewActivatedEventArgs instead! " +
             "Like: " +
             "FocusManager.Instance.FocusedViewActivated = OnFocusedViewActivated; " +
-            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs args) {...}")]
+            "private void OnFocusedViewActivated(object source, FocusManager.FocusedViewActivatedEventArgs arg)" +
+            "{...}")]
         [EditorBrowsable(EditorBrowsableState.Never)]
-        public event EventHandler<FocusedViewEnterKeyEventArgs> FocusedViewEnterKeyPressed
+        public class FocusedViewEnterKeyEventArgs : 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>
-        /// 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)
+        private class CustomAlgorithmInterfaceWrapper : CustomAlgorithmInterface
         {
-            FocusedViewActivatedEventArgs e = new FocusedViewActivatedEventArgs();
+            private FocusManager.ICustomFocusAlgorithm _customFocusAlgorithm;
 
-            e.View = Registry.GetManagedBaseHandleFromNativePtr(view) as View;
+            public CustomAlgorithmInterfaceWrapper()
+            {
+            }
 
-            if (_focusedViewEnterKeyEventHandler != null)
+            public void SetFocusAlgorithm(FocusManager.ICustomFocusAlgorithm customFocusAlgorithm)
             {
-                _focusedViewEnterKeyEventHandler(this, e);
+                _customFocusAlgorithm = customFocusAlgorithm;
+            }
+
+            public override View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
+            {
+                return _customFocusAlgorithm.GetNextFocusableView(current, proposed, direction);
             }
         }
+
+
     }
 }
\ No newline at end of file
index 9744511..5b771ab 100755 (executable)
@@ -22,6 +22,8 @@ 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)
@@ -29,9 +31,14 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(FontClient obj)
+        internal FontClient() : this(NDalicManualPINVOKE.new_FontClient__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            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 static uint DefaultPointSize
@@ -44,211 +51,63 @@ namespace Tizen.NUI
             }
         }
 
-        internal class GlyphBufferData : global::System.IDisposable
+        /// <summary>
+        /// Gets the singleton pattern of the FontClient object.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static FontClient Instance
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            protected bool swigCMemOwn;
-
-            internal GlyphBufferData(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(GlyphBufferData 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>
-            protected bool disposed = false;
-
-            ~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);
-                }
-            }
-
-            protected virtual void Dispose(DisposeTypes type)
+            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;
-                        NDalicManualPINVOKE.delete_FontClient_GlyphBufferData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-                }
-                disposed = true;
+                return instance;
             }
+        }
 
-            public GlyphBufferData() : this(NDalicManualPINVOKE.new_FontClient_GlyphBufferData(), true)
+        public uint Width
+        {
+            set
             {
+                NDalicManualPINVOKE.FontClient_GlyphBufferData_width_set(swigCPtr, 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
+            get
             {
-                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;
-                }
+                uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            public uint Height
+        public uint Height
+        {
+            set
             {
-                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;
-                }
+                NDalicManualPINVOKE.FontClient_GlyphBufferData_height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            public PixelFormat Format
+            get
             {
-                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;
-                }
+                uint ret = NDalicManualPINVOKE.FontClient_GlyphBufferData_height_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
+        public PixelFormat Format
         {
+            set
+            {
+                NDalicManualPINVOKE.FontClient_GlyphBufferData_format_set(swigCPtr, (int)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                return instance;
+                PixelFormat ret = (PixelFormat)NDalicManualPINVOKE.FontClient_GlyphBufferData_format_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        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>
@@ -259,30 +118,6 @@ 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>
@@ -352,27 +187,6 @@ 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>
@@ -415,6 +229,115 @@ 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);
@@ -436,19 +359,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;
-        }
-
         internal bool IsScalable(FontDescription fontDescription)
         {
             bool ret = NDalicManualPINVOKE.FontClient_IsScalable__SWIG_1(swigCPtr, FontDescription.getCPtr(fontDescription));
@@ -528,17 +438,111 @@ namespace Tizen.NUI
             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)
+        internal class GlyphBufferData : global::System.IDisposable
         {
-            bool ret = NDalicManualPINVOKE.FontClient_AddCustomFontDirectory(swigCPtr, path);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            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;
+                }
+            }*/
+
         }
     }
 }
index 172d719..65358da 100755 (executable)
@@ -26,60 +26,63 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Create an instance of Geometry.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Geometry() : this(NDalicPINVOKE.Geometry_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Geometry obj)
+        internal Geometry(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Geometry_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <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;
-            }
-
-            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 points.
+            /// </summary>
+            POINTS,
 
-            }
+            /// <summary>
+            /// Individual lines (made of 2 points each).
+            /// </summary>
+            LINES,
 
-            //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) which also joins the first and last point.
+            /// </summary>
+            LINE_LOOP,
 
-            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 strip of lines (made of 1 point each).
+            /// </summary>
+            LINE_STRIP,
 
-            base.Dispose(type);
-        }
+            /// <summary>
+            /// Individual triangles (made of 3 points each).
+            /// </summary>
+            TRIANGLES,
 
-        /// <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 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
         }
 
         /// <summary>
@@ -154,50 +157,46 @@ 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>
-        /// 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,
-
-            /// <summary>
-            /// Individual lines (made of 2 points each).
-            /// </summary>
-            LINES,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// A strip of lines (made of 1 point each) which also joins the first and last point.
-            /// </summary>
-            LINE_LOOP,
+            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).
-            /// </summary>
-            LINE_STRIP,
+            }
 
-            /// <summary>
-            /// Individual triangles (made of 3 points each).
-            /// </summary>
-            TRIANGLES,
+            //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 fan of triangles around a centre point (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_FAN,
+            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 strip of triangles (after the first triangle, following triangles need only 1 point).
-            /// </summary>
-            TRIANGLE_STRIP
+            base.Dispose(type);
         }
 
     }
-
 }
\ No newline at end of file
index 1f57eed..37de914 100755 (executable)
@@ -26,31 +26,38 @@ 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;
 
-        internal Gesture(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        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;
-        }
+        private global::System.Runtime.InteropServices.HandleRef 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.
+        /// The Copy constructor.
         /// </summary>
+        /// <param name="rhs">A reference to the copied handle</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,63 +73,71 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Enumeration for type of gesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public enum GestureType
         {
-            //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>
+            /// 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
         }
 
-
         /// <summary>
         /// The gesture type.
         /// </summary>
@@ -159,16 +174,6 @@ 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
@@ -215,71 +220,65 @@ 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);
+            }
+        }
+
+        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;
         }
 
         /// <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;
+        }
+    }
 }
\ No newline at end of file
index c46e4d7..d598942 100755 (executable)
@@ -31,54 +31,6 @@ 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>
@@ -89,13 +41,6 @@ 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>
@@ -107,11 +52,9 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal GestureDetector Assign(GestureDetector rhs)
+        internal GestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.GestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            GestureDetector ret = new GestureDetector(NDalicPINVOKE.GestureDetector_Assign(swigCPtr, GestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -176,6 +119,61 @@ 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 cd99841..03dec8a 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
@@ -26,31 +27,46 @@ 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;
 
-        internal Hover(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        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;
-        }
+        private global::System.Runtime.InteropServices.HandleRef 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.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,79 +82,45 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The time (in ms) that the hover event occurred.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public uint Time
         {
-            //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
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return time;
             }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        private TouchPointContainer points
         {
-            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.Hover_points_set(swigCPtr, TouchPointContainer.getCPtr(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_Hover(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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;
             }
-            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
+        private uint time
         {
+            set
+            {
+                NDalicPINVOKE.Hover_time_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                return time;
+                uint ret = NDalicPINVOKE.Hover_time_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
@@ -226,62 +208,48 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The default constructor.
+        /// Returns the total number of points.
         /// </summary>
+        /// <returns>Total number of points.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Hover() : this(NDalicPINVOKE.new_Hover__SWIG_0(), true)
+        public uint GetPointCount()
         {
+            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="time">The time the event occurred.</param>
-        internal Hover(uint time) : this(NDalicPINVOKE.new_Hover__SWIG_1(time), 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.");
+            }
 
-        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
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Hover obj)
         {
-            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;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <summary>
-        /// Returns the total number of points.
-        /// </summary>
-        /// <returns>Total number of points.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public uint GetPointCount()
+        internal static Hover GetHoverFromPtr(global::System.IntPtr cPtr)
         {
-            uint ret = NDalicPINVOKE.Hover_GetPointCount(swigCPtr);
+            Hover ret = new Hover(cPtr, false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -293,6 +261,38 @@ 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 8f68927..6aeee67 100755 (executable)
@@ -31,499 +31,330 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
+        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)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfManager obj)
+        internal ImfManager(ImfManager imfManager) : this(NDalicManualPINVOKE.new_InputMethodContext__SWIG_1(ImfManager.getCPtr(imfManager)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Gets the singleton of the ImfManager object.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static ImfManager Instance
+        internal ImfManager(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            get
-            {
-                return new ImfManager();
-            }
+            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);
+
         /// <summary>
-        /// Dispose.
+        /// ImfManager activated.
         /// </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)
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<ActivatedEventArgs> Activated
         {
-            if (disposed)
+            add
             {
-                return;
-            }
+                if (_activatedEventHandler == null)
+                {
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
+                }
 
-            if (type == DisposeTypes.Explicit)
+                _activatedEventHandler += value;
+            }
+            remove
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                _activatedEventHandler -= value;
 
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
+                {
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                }
             }
+        }
 
-            //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)
+        /// <summary>
+        /// ImfManager event received.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
+        {
+            add
             {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
+                if (_eventReceivedEventHandler == null)
+                {
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                _eventReceivedEventHandler += value;
+            }
+            remove
             {
-                if (swigCMemOwn)
+                _eventReceivedEventHandler -= value;
+
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
+        /// ImfManager status changed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ImfEventData : global::System.IDisposable
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
+            add
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
+                if (_statusChangedEventHandler == null)
+                {
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                _statusChangedEventHandler += value;
             }
-
-            //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()
+            remove
             {
-                if (!isDisposeQueued)
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public void Dispose()
+        /// <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
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
                 {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
+                    ResizedSignal().Disconnect(_resizedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// ImfManager language changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
             {
-                if (disposed)
+                if (_languageChangedEventHandler == null)
                 {
-                    return;
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                {
+                    LanguageChangedSignal().Disconnect(_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.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
+        /// <summary>
+        /// ImfManager keyboard type changed.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        {
+            add
+            {
+                if (_keyboardTypeChangedEventHandler == null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
                 }
 
-                disposed = true;
+                _keyboardTypeChangedEventHandler += value;
             }
-
-            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
+            remove
             {
-                ImfEventData ret = new ImfEventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _keyboardTypeChangedEventHandler -= value;
+
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
             }
+        }
 
-            /// <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.
-            /// </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)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
-            /// <summary>
-            /// The pre-edit or the commit string.
-            /// </summary>
-            /// <since_tizen> 4 </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> 4 </since_tizen>
-            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;
-                }
-            }
+        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>
-            /// The start position from the current cursor position to start deleting characters.
+            /// Left to right.
             /// </summary>
-            /// <since_tizen> 4 </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;
-                }
-            }
-
+            LeftToRight,
             /// <summary>
-            /// The number of characters to delete from the cursorOffset.
+            /// Right to left.
             /// </summary>
-            /// <since_tizen> 4 </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;
-                }
-            }
-
+            RightToLeft
         }
 
         /// <summary>
-        /// Data required by the IMF from the callback.
+        /// Events that are generated by the IMF.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class ImfCallbackData : global::System.IDisposable
+        public enum ImfEvent
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// swigCMemOwn
+            /// No event.
             /// </summary>
-            /// <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;
+            /// <since_tizen> 4 </since_tizen>
+            Void,
             /// <summary>
-            /// A Flat to check if it is already disposed.
+            /// Pre-Edit changed.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            protected bool disposed = false;
-
-
+            /// <since_tizen> 4 </since_tizen>
+            Preedit,
             /// <summary>
-            /// Dispose.
+            /// Commit received.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            ~ImfCallbackData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            Commit,
             /// <summary>
-            /// The dispose pattern.
+            /// An event to delete a range of characters from the string.
             /// </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);
-                }
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            DeleteSurrounding,
             /// <summary>
-            /// Dispose.
+            /// An event to query string and the cursor position.
             /// </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;
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            GetSurrounding,
             /// <summary>
-            /// The default constructor.
+            /// Private command sent from the input panel.
             /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
+            /// <since_tizen> 4 </since_tizen>
+            PrivateCommand
+        }
 
+        /// <summary>
+        /// Enumeration for the state of the input panel.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum State
+        {
             /// <summary>
-            /// The constructor.
+            /// Unknown state.
             /// </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();
-            }
-
+            /// <since_tizen> 4 </since_tizen>
+            Default = 0,
             /// <summary>
-            /// The current text string.
+            /// Input panel is shown.
             /// </summary>
             /// <since_tizen> 4 </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;
-                }
-            }
-
+            Show,
             /// <summary>
-            /// The current text string.
+            /// Input panel is hidden.
             /// </summary>
             /// <since_tizen> 4 </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;
-                }
-            }
-
+            Hide,
             /// <summary>
-            /// If the cursor position needs to be updated.
+            /// Input panel in process of being shown.
             /// </summary>
             /// <since_tizen> 4 </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;
-                }
-            }
+            WillShow
+        }
 
+        /// <summary>
+        /// Enumeration for the types of keyboard.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public enum KeyboardType
+        {
             /// <summary>
-            /// Flags if preedit reset is required.
+            /// Software keyboard (virtual keyboard) is default.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool PreeditResetRequired
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            HardwareKeyboard
+        }
+
+        /// <summary>
+        /// Gets the singleton of the ImfManager object.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static ImfManager Instance
+        {
+            get
             {
-                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;
-                }
+                return new ImfManager();
             }
+        }
 
+        /// <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>
@@ -541,47 +372,14 @@ 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();
         }
-
-        /// <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;
-        }
+#pragma warning restore 0465
 
         /// <summary>
         /// Activates the IMF.<br/>
@@ -735,12 +533,6 @@ 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>
@@ -831,548 +623,760 @@ namespace Tizen.NUI
             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()
+        /// <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);
+            }
+        }
+
+        private void OnKeyboardTypeChanged(KeyboardType type)
         {
-            string ret = NDalicManualPINVOKE.InputMethodContext_GetInputPanelLocale(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
+            {
+                _keyboardTypeChangedEventHandler(this, e);
+            }
         }
 
         /// <summary>
-        /// ImfManager activated event arguments.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        /// <since_tizen> 3 </since_tizen>
+        public class ImfEventData : global::System.IDisposable
         {
             /// <summary>
-            /// ImfManager
+            /// swigCMemOwn
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
-            {
-                get;
-                set;
-            }
-        }
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
 
-        /// <summary>
-        /// ImfManager activated.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
-        {
-            add
+            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 (_activatedEventHandler == null)
-                {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
-                }
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
 
-                _activatedEventHandler += value;
+            /// <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> 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();
             }
-            remove
+
+            internal ImfEventData(IntPtr cPtr, bool cMemoryOwn)
             {
-                _activatedEventHandler -= value;
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
 
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfEventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
             }
-        }
-
-        private void OnActivated(IntPtr data)
-        {
-            ActivatedEventArgs e = new ActivatedEventArgs();
 
-            if (data != null)
+            /// <summary>
+            /// The pre-edit or the commit string.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public string PredictiveString
             {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(data) as ImfManager;
+                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;
+                }
             }
 
-            if (_activatedEventHandler != null)
+            /// <summary>
+            /// The name of the event from the IMF.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfManager.ImfEvent EventName
             {
-                _activatedEventHandler(this, e);
+                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;
+                }
             }
-        }
 
-        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>
-            /// ImfManager
+            /// The start position from the current cursor position to start deleting characters.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public ImfManager ImfManager
+            public int CursorOffset
             {
-                get;
-                set;
+                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>
-            /// ImfEventData
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public ImfEventData ImfEventData
+            public int NumberOfChars
             {
-                get;
-                set;
+                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;
+                }
             }
-        }
 
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr imfManager, IntPtr imfEventData);
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> _eventReceivedEventHandler;
-
-        /// <summary>
-        /// ImfManager event received.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, ImfCallbackData> EventReceived
-        {
-            add
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public void Dispose()
             {
-                if (_eventReceivedEventHandler == null)
+                //Throw excpetion if Dispose() is called in separate thread.
+                if (!Window.IsInstalled())
                 {
-                    _eventReceivedEventCallback = OnEventReceived;
-                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                    throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
                 }
 
-                _eventReceivedEventHandler += value;
+                if (isDisposeQueued)
+                {
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
+                }
             }
-            remove
+
+            internal static ImfEventData GetImfEventDataFromPtr(IntPtr cPtr)
             {
-                _eventReceivedEventHandler -= value;
+                ImfEventData ret = new ImfEventData(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ImfEventData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, 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.
+
+                }
 
-                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != 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)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
+
+                disposed = true;
             }
         }
 
-        private IntPtr OnEventReceived(IntPtr imfManager, IntPtr imfEventData)
+        /// <summary>
+        /// Data required by the IMF from the callback.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class ImfCallbackData : global::System.IDisposable
         {
-            ImfCallbackData imfCallbackData = null;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool swigCMemOwn;
 
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
+            /// <summary>
+            /// A Flat to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            protected bool disposed = false;
 
-            if (imfManager != null)
-            {
-                e.ImfManager = Registry.GetManagedBaseHandleFromNativePtr(imfManager) as ImfManager;
-            }
-            if (imfEventData != null)
+            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 ImfCallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
             {
-                e.ImfEventData = ImfEventData.GetImfEventDataFromPtr(imfEventData);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
 
-            if (_eventReceivedEventHandler != null)
+            /// <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)
             {
-                imfCallbackData = _eventReceivedEventHandler(this, e);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            if (imfCallbackData != null)
+
+            internal ImfCallbackData(IntPtr cPtr, bool cMemoryOwn)
             {
-                return imfCallbackData.GetImfCallbackDataPtr();
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
             }
-            else
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            ~ImfCallbackData()
             {
-                return new ImfCallbackData().GetImfCallbackDataPtr();
+                if (!isDisposeQueued)
+                {
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
+                }
             }
-        }
-
-        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>
-            /// ImfManager status
+            /// The current text string.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public bool StatusChanged
+            public string CurrentText
             {
-                get;
-                set;
+                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;
+                }
             }
-        }
-
-        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
+            /// <summary>
+            /// The current text string.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public int CursorPosition
             {
-                if (_statusChangedEventHandler == null)
+                set
                 {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                    NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_set(swigCPtr, value);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 }
-
-                _statusChangedEventHandler += value;
-            }
-            remove
-            {
-                _statusChangedEventHandler -= value;
-
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+                get
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    int ret = NDalicManualPINVOKE.InputMethodContext_CallbackData_cursorPosition_get(swigCPtr);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                    return ret;
                 }
             }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
 
-            if (_statusChangedEventHandler != null)
+            /// <summary>
+            /// If the cursor position needs to be updated.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public bool Update
             {
-                _statusChangedEventHandler(this, e);
+                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;
+                }
             }
-        }
-
-        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>
-            /// resized.
+            /// Flags if preedit reset is required.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public int Resized
+            public bool PreeditResetRequired
             {
-                get;
-                set;
+                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;
+                }
             }
-        }
-
-        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
+            /// <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);
                 }
             }
-        }
 
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
+            internal IntPtr GetImfCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            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)
+            internal static ImfCallbackData GetImfCallbackDataFromPtr(IntPtr cPtr)
             {
-                _resizedEventHandler(this, e);
+                ImfCallbackData ret = new ImfCallbackData(cPtr, 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;
-        }
 
-        /// <summary>
-        /// ImfManager language changed event args.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public class LanguageChangedEventArgs : EventArgs
-        {
             /// <summary>
-            /// language changed.
+            /// Dispose.
             /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            public int LanguageChanged
+            /// <since_tizen> 3 </since_tizen>
+            protected virtual void Dispose(DisposeTypes type)
             {
-                get;
-                set;
-            }
-        }
-
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+                if (disposed)
+                {
+                    return;
+                }
 
-        /// <summary>
-        /// ImfManager language changed.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    //Called by User
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= 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 (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
 
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
+                disposed = true;
             }
         }
 
-        internal LanguageChangedSignalType LanguageChangedSignal()
-        {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// ImfManager keyboard type changed event arguments.
+        /// ImfManager activated event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public class ActivatedEventArgs : EventArgs
         {
             /// <summary>
-            /// ImfManager keyboard type
+            /// ImfManager
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            public KeyboardType KeyboardType
+            public ImfManager ImfManager
             {
                 get;
                 set;
             }
         }
 
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
-
         /// <summary>
-        /// ImfManager keyboard type changed.
+        /// ImfManager event received event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        public class EventReceivedEventArgs : EventArgs
         {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
-                {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
-                }
-
-                _keyboardTypeChangedEventHandler += value;
-            }
-            remove
+            /// <summary>
+            /// ImfManager
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfManager ImfManager
             {
-                _keyboardTypeChangedEventHandler -= value;
-
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+                get;
+                set;
             }
-        }
-
-        private void OnKeyboardTypeChanged(KeyboardType type)
-        {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
 
-            if (_keyboardTypeChangedEventHandler != null)
+            /// <summary>
+            /// ImfEventData
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public ImfEventData ImfEventData
             {
-                _keyboardTypeChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// The direction of the text.
+        /// ImfManager status changed event arguments.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum TextDirection
+        /// <since_tizen> 4 </since_tizen>
+        public class StatusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
-            /// <summary>
-            /// Right to left.
+            /// ImfManager status
             /// </summary>
-            RightToLeft
+            /// <since_tizen> 4 </since_tizen>
+            public bool StatusChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Events that are generated by the IMF.
+        /// ImfManager resized event.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum ImfEvent
+        /// <since_tizen> 4 </since_tizen>
+        public class ResizedEventArgs : EventArgs
         {
             /// <summary>
-            /// No event.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            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.
+            /// resized.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            PrivateCommand
+            public int Resized
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// ImfManager language changed event args.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum State
+        /// <since_tizen> 4 </since_tizen>
+        public class LanguageChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Unknown state.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            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.
+            /// language changed.
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            WillShow
+            public int LanguageChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the types of keyboard.
+        /// ImfManager keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public enum KeyboardType
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
-            /// </summary>
-            /// <since_tizen> 4 </since_tizen>
-            SoftwareKeyboard,
-            /// <summary>
-            /// Hardware keyboard.
+            /// ImfManager keyboard type
             /// </summary>
             /// <since_tizen> 4 </since_tizen>
-            HardwareKeyboard
+            public KeyboardType KeyboardType
+            {
+                get;
+                set;
+            }
         }
     }
 }
index 499b73c..f376c65 100755 (executable)
@@ -36,140 +36,6 @@ 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>
@@ -393,5 +259,138 @@ 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 e7e5794..368231a 100755 (executable)
@@ -29,535 +29,330 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal InputMethodContext(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
+        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)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(InputMethodContext obj)
+        internal InputMethodContext(IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.InputMethodContext_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            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);
+
+        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>
-        /// 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)
+            add
             {
-                return;
-            }
+                if (_activatedEventHandler == null)
+                {
+                    _activatedEventCallback = OnActivated;
+                    ActivatedSignal().Connect(_activatedEventCallback);
+                }
 
-            if (type == DisposeTypes.Explicit)
+                _activatedEventHandler += value;
+            }
+            remove
             {
-                //Called by User.
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                _activatedEventHandler -= value;
 
+                if (_activatedEventHandler == null && _activatedEventCallback != null)
+                {
+                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                }
             }
+        }
 
-            //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)
+        /// <summary>
+        /// InputMethodContext event received.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
+        {
+            add
             {
-                KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-            }
+                if (_eventReceivedEventHandler == null)
+                {
+                    _eventReceivedEventCallback = OnEventReceived;
+                    EventReceivedSignal().Connect(_eventReceivedEventCallback);
+                }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+                _eventReceivedEventHandler += value;
+            }
+            remove
             {
-                if (swigCMemOwn)
+                _eventReceivedEventHandler -= value;
+
+                if (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
                 {
-                    swigCMemOwn = false;
-                    NDalicManualPINVOKE.delete_InputMethodContext(swigCPtr);
+                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
                 }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// This structure is used to pass on data from the IMF regarding predictive text.
+        /// InputMethodContext status changed.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class EventData : global::System.IDisposable
+        public event EventHandler<StatusChangedEventArgs> StatusChanged
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-            /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected bool swigCMemOwn;
-
-            internal EventData(IntPtr cPtr, bool cMemoryOwn)
+            add
             {
-                swigCMemOwn = cMemoryOwn;
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-            }
+                if (_statusChangedEventHandler == null)
+                {
+                    _statusChangedEventCallback = OnStatusChanged;
+                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                }
 
-            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
-            {
-                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+                _statusChangedEventHandler += value;
             }
-
-            //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()
+            remove
             {
-                if (!isDisposeQueued)
+                _statusChangedEventHandler -= value;
+
+                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
                 {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
+                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// The dispose pattern.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            public void Dispose()
+        /// <summary>
+        /// InputMethodContext resized.
+        /// </summary>
+        /// <since_tizen> 5 </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
+                _resizedEventHandler += value;
+            }
+            remove
+            {
+                _resizedEventHandler -= value;
+
+                if (_resizedEventHandler == null && _resizedEventCallback != null)
                 {
-                    Dispose(DisposeTypes.Explicit);
-                    System.GC.SuppressFinalize(this);
+                    ResizedSignal().Disconnect(_resizedEventCallback);
                 }
             }
+        }
 
-            /// <summary>
-            /// Dispose.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            protected virtual void Dispose(DisposeTypes type)
+        /// <summary>
+        /// InputMethodContext language changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
+        {
+            add
             {
-                if (disposed)
+                if (_languageChangedEventHandler == null)
                 {
-                    return;
+                    _languageChangedEventCallback = OnLanguageChanged;
+                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
                 }
 
-                if (type == DisposeTypes.Explicit)
-                {
-                    //Called by User.
-                    //Release your own managed resources here.
-                    //You should release all of your own disposable objects here.
+                _languageChangedEventHandler += value;
+            }
+            remove
+            {
+                _languageChangedEventHandler -= value;
 
+                if (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                {
+                    LanguageChangedSignal().Disconnect(_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.
-
-                if (swigCPtr.Handle != IntPtr.Zero)
+        /// <summary>
+        /// InputMethodContext keyboard type changed.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        {
+            add
+            {
+                if (_keyboardTypeChangedEventHandler == null)
                 {
-                    if (swigCMemOwn)
-                    {
-                        swigCMemOwn = false;
-                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
-                    }
-                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
+                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
+                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
                 }
 
-                disposed = true;
+                _keyboardTypeChangedEventHandler += value;
             }
-
-            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
+            remove
             {
-                EventData ret = new EventData(cPtr, false);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                _keyboardTypeChangedEventHandler -= value;
+
+                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
+                {
+                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
+                }
             }
+        }
 
+        /// <summary>
+        /// The direction of the text.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public enum TextDirection
+        {
             /// <summary>
-            /// The default constructor.
+            /// Left to right.
             /// </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();
-            }
-
-            /// <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;
-                }
-            }
-
+            LeftToRight,
             /// <summary>
-            /// The number of characters to delete from the cursorOffset.
+            /// Right to left.
             /// </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;
-                }
-            }
-
+            RightToLeft
         }
 
         /// <summary>
-        /// Data required by the IMF from the callback.
+        /// Events that are generated by the IMF.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class CallbackData : global::System.IDisposable
+        public enum EventType
         {
-            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
             /// <summary>
-            /// swigCMemOwn
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            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>
-            /// A Flag to check if it is already disposed.
+            /// No event.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            protected bool disposed = false;
-
-
+            Void,
             /// <summary>
-            /// Dispose.
+            /// Pre-edit changed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            ~CallbackData()
-            {
-                if (!isDisposeQueued)
-                {
-                    isDisposeQueued = true;
-                    DisposeQueue.Instance.Add(this);
-                }
-            }
-
+            Preedit,
             /// <summary>
-            /// The dispose pattern.
+            /// Commit received.
             /// </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);
-                }
-            }
-
+            Commit,
             /// <summary>
-            /// Dispose.
+            /// An event to delete a range of characters from the string.
             /// </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_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;
-            }
-
+            DeleteSurrounding,
             /// <summary>
-            /// The default constructor.
+            /// An event to query string and the cursor position.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-
+            GetSurrounding,
             /// <summary>
-            /// The constructor.
+            /// Private command sent from the input panel.
             /// </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)
-            {
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
+            PrivateCommand
+        }
 
+        /// <summary>
+        /// Enumeration for the state of the input panel.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public enum State
+        {
             /// <summary>
-            /// The current text string.
+            /// Unknown state.
             /// </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;
-                }
-            }
-
+            Default = 0,
             /// <summary>
-            /// The current cursor position.
+            /// Input panel is shown.
             /// </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;
-                }
-            }
-
+            Show,
             /// <summary>
-            /// If the cursor position needs to be updated.
+            /// Input panel is hidden.
             /// </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;
-                }
-            }
-
+            Hide,
             /// <summary>
-            /// Flags if the pre-edit reset is required.
+            /// Input panel in process of being shown.
             /// </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;
-                }
-            }
-
+            WillShow
         }
 
         /// <summary>
-        /// Destroys the context of the IMF.<br/>
+        /// Enumeration for the types of keyboard.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public void DestroyContext()
+        public enum KeyboardType
         {
-            NDalicManualPINVOKE.InputMethodContext_Finalize(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// Software keyboard (virtual keyboard) is default.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            SoftwareKeyboard,
+            /// <summary>
+            /// Hardware keyboard.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            HardwareKeyboard
         }
 
         /// <summary>
-        /// Destroys the context of the IMF.<br/>
+        /// Gets or sets whether the IM context allows to use the text prediction.
         /// </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!")]
+        /// 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 Finalize()
+        public bool TextPrediction
         {
-            DestroyContext();
+            get
+            {
+                return IsTextPredictionAllowed();
+            }
+            set
+            {
+                AllowTextPrediction(value);
+            }
         }
 
         /// <summary>
-        /// Constructor.<br/>
+        /// Destroys the context of the IMF.<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);
+        public void DestroyContext()
+        {
+            NDalicManualPINVOKE.InputMethodContext_Finalize(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
@@ -712,12 +507,6 @@ 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>
@@ -821,565 +610,765 @@ 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);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal bool IsTextPredictionAllowed()
+        internal bool IsTextPredictionAllowed()
+        {
+            bool ret = NDalicManualPINVOKE.InputMethodContext_IsTextPredictionAllowed(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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()
+        {
+            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> 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)
+        {
+            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.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(data) as InputMethodContext;
+            }
+
+            if (_activatedEventHandler != null)
+            {
+                _activatedEventHandler(this, e);
+            }
+        }
+
+        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)
         {
-            bool ret = NDalicManualPINVOKE.InputMethodContext_IsTextPredictionAllowed(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
+            e.LanguageChanged = languageChanged;
 
-        /// <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
+            if (_languageChangedEventHandler != null)
             {
-                return IsTextPredictionAllowed();
+                _languageChangedEventHandler(this, e);
             }
-            set
+        }
+
+        private void OnKeyboardTypeChanged(KeyboardType type)
+        {
+            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
+
+            e.KeyboardType = type;
+
+            if (_keyboardTypeChangedEventHandler != null)
             {
-                AllowTextPrediction(value);
+                _keyboardTypeChangedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// InputMethodContext activated event arguments.
+        /// This structure is used to pass on data from the IMF regarding predictive text.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class ActivatedEventArgs : EventArgs
+        public class EventData : global::System.IDisposable
         {
             /// <summary>
-            /// InputMethodContext
+            /// swigCMemOwn
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            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)
             {
-                get;
-                set;
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
 
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void ActivatedEventCallbackType(IntPtr data);
-        private ActivatedEventCallbackType _activatedEventCallback;
-        private event EventHandler<ActivatedEventArgs> _activatedEventHandler;
+            /// <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();
+            }
 
-        /// <summary>
-        /// InputMethodContext activated.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<ActivatedEventArgs> Activated
-        {
-            add
+            internal EventData(IntPtr cPtr, bool cMemoryOwn)
             {
-                if (_activatedEventHandler == null)
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
+
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            ~EventData()
+            {
+                if (!isDisposeQueued)
                 {
-                    _activatedEventCallback = OnActivated;
-                    ActivatedSignal().Connect(_activatedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
-
-                _activatedEventHandler += value;
             }
-            remove
-            {
-                _activatedEventHandler -= value;
 
-                if (_activatedEventHandler == null && _activatedEventCallback != null)
+            /// <summary>
+            /// The pre-edit or the commit string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public string PredictiveString
+            {
+                set
                 {
-                    ActivatedSignal().Disconnect(_activatedEventCallback);
+                    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;
                 }
             }
-        }
-
-        private void OnActivated(IntPtr data)
-        {
-            ActivatedEventArgs e = new ActivatedEventArgs();
 
-            if (data != null)
+            /// <summary>
+            /// The name of the event from the IMF.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public InputMethodContext.EventType EventName
             {
-                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(data) as InputMethodContext;
+                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;
+                }
             }
 
-            if (_activatedEventHandler != null)
+            /// <summary>
+            /// The start position from the current cursor position to start deleting characters.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int CursorOffset
             {
-                _activatedEventHandler(this, e);
+                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;
+                }
             }
-        }
-
-        internal ActivatedSignalType ActivatedSignal()
-        {
-            ActivatedSignalType ret = new ActivatedSignalType(NDalicManualPINVOKE.InputMethodContext_ActivatedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
 
-        /// <summary>
-        /// InputMethodContext event receives event arguments.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public class EventReceivedEventArgs : EventArgs
-        {
             /// <summary>
-            /// InputMethodContext
+            /// The number of characters to delete from the cursorOffset.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public InputMethodContext InputMethodContext
+            public int NumberOfChars
             {
-                get;
-                set;
+                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>
-            /// EventData.
+            /// The dispose pattern.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public EventData EventData
+            public void Dispose()
             {
-                get;
-                set;
+                //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);
+                }
             }
-        }
 
-        private delegate IntPtr EventReceivedEventCallbackType(IntPtr inputMethodContext, IntPtr eventData);
-        private EventReceivedEventCallbackType _eventReceivedEventCallback;
-        private event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> _eventReceivedEventHandler;
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(EventData obj)
+            {
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
+            }
 
-        /// <summary>
-        /// InputMethodContext event received.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandlerWithReturnType<object, EventReceivedEventArgs, CallbackData> EventReceived
-        {
-            add
+            internal static EventData GetEventDataFromPtr(IntPtr cPtr)
             {
-                if (_eventReceivedEventHandler == null)
+                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)
                 {
-                    _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
-            {
-                _eventReceivedEventHandler -= 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 (_eventReceivedEventHandler == null && _eventReceivedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    EventReceivedSignal().Disconnect(_eventReceivedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_EventData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
+
+                disposed = true;
             }
         }
 
-        private IntPtr OnEventReceived(IntPtr inputMethodContext, IntPtr eventData)
+        /// <summary>
+        /// Data required by the IMF from the callback.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public class CallbackData : global::System.IDisposable
         {
-            CallbackData callbackData = null;
+            /// <summary>
+            /// swigCMemOwn
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool swigCMemOwn;
 
-            EventReceivedEventArgs e = new EventReceivedEventArgs();
+            /// <summary>
+            /// A Flag to check if it is already disposed.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            protected bool disposed = false;
 
-            if (inputMethodContext != null)
-            {
-                e.InputMethodContext = Registry.GetManagedBaseHandleFromNativePtr(inputMethodContext) as InputMethodContext;
-            }
-            if (eventData != null)
-            {
-                e.EventData = EventData.GetEventDataFromPtr(eventData);
-            }
+            private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-            if (_eventReceivedEventHandler != null)
-            {
-                callbackData = _eventReceivedEventHandler(this, e);
-            }
-            if (callbackData != null)
-            {
-                return callbackData.GetCallbackDataPtr();
-            }
-            else
+            //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 CallbackData() : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_0(), true)
             {
-                return new CallbackData().GetCallbackDataPtr();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
-
-        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>
-            /// InputMethodContext status.
+            /// 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 bool StatusChanged
+            public CallbackData(bool aUpdate, int aCursorPosition, string aCurrentText, bool aPreeditResetRequired) : this(NDalicManualPINVOKE.new_InputMethodContext_CallbackData__SWIG_1(aUpdate, aCursorPosition, aCurrentText, aPreeditResetRequired), true)
             {
-                get;
-                set;
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-        }
-
-        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
+            /// <summary>
+            /// Dispose.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            ~CallbackData()
             {
-                if (_statusChangedEventHandler == null)
+                if (!isDisposeQueued)
                 {
-                    _statusChangedEventCallback = OnStatusChanged;
-                    StatusChangedSignal().Connect(_statusChangedEventCallback);
+                    isDisposeQueued = true;
+                    DisposeQueue.Instance.Add(this);
                 }
-
-                _statusChangedEventHandler += value;
             }
-            remove
-            {
-                _statusChangedEventHandler -= value;
 
-                if (_statusChangedEventHandler == null && _statusChangedEventCallback != null)
+            /// <summary>
+            /// The current text string.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public string CurrentText
+            {
+                set
                 {
-                    StatusChangedSignal().Disconnect(_statusChangedEventCallback);
+                    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;
                 }
             }
-        }
-
-        private void OnStatusChanged(bool statusChanged)
-        {
-            StatusChangedEventArgs e = new StatusChangedEventArgs();
-
-            e.StatusChanged = statusChanged;
 
-            if (_statusChangedEventHandler != null)
+            /// <summary>
+            /// The current cursor position.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public int CursorPosition
             {
-                _statusChangedEventHandler(this, e);
+                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;
+                }
             }
-        }
-
-        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.
+            /// If the cursor position needs to be updated.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int Resized
+            public bool Update
             {
-                get;
-                set;
+                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;
+                }
             }
-        }
-
-        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
+            /// <summary>
+            /// Flags if the pre-edit reset is required.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public bool PreeditResetRequired
             {
-                if (_resizedEventHandler == null)
+                set
                 {
-                    _resizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_resizedEventCallback);
+                    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;
                 }
-
-                _resizedEventHandler += value;
             }
-            remove
+
+            /// <summary>
+            /// The dispose pattern.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public void Dispose()
             {
-                _resizedEventHandler -= value;
+                //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 (_resizedEventHandler == null && _resizedEventCallback != null)
+                if (isDisposeQueued)
                 {
-                    ResizedSignal().Disconnect(_resizedEventCallback);
+                    Dispose(DisposeTypes.Implicit);
+                }
+                else
+                {
+                    Dispose(DisposeTypes.Explicit);
+                    System.GC.SuppressFinalize(this);
                 }
             }
-        }
 
-        private void OnResized(int resized)
-        {
-            ResizedEventArgs e = new ResizedEventArgs();
-            e.Resized = resized;
+            internal IntPtr GetCallbackDataPtr()
+            {
+                return (IntPtr)swigCPtr;
+            }
+
+            internal CallbackData(IntPtr cPtr, bool cMemoryOwn)
+            {
+                swigCMemOwn = cMemoryOwn;
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            }
 
-            if (_resizedEventHandler != null)
+            internal static global::System.Runtime.InteropServices.HandleRef getCPtr(CallbackData obj)
             {
-                _resizedEventHandler(this, e);
+                return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero) : obj.swigCPtr;
             }
-        }
 
-        internal KeyboardResizedSignalType ResizedSignal()
-        {
-            KeyboardResizedSignalType ret = new KeyboardResizedSignalType(NDalicManualPINVOKE.InputMethodContext_ResizedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            internal static CallbackData GetCallbackDataFromPtr(IntPtr cPtr)
+            {
+                CallbackData ret = new CallbackData(cPtr, 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>
-            /// Language changed.
+            /// Dispose.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public int LanguageChanged
+            protected virtual void Dispose(DisposeTypes type)
             {
-                get;
-                set;
-            }
-        }
-
-        private delegate void LanguageChangedEventCallbackType(int languageChanged);
-        private LanguageChangedEventCallbackType _languageChangedEventCallback;
-        private event EventHandler<LanguageChangedEventArgs> _languageChangedEventHandler;
+                if (disposed)
+                {
+                    return;
+                }
 
-        /// <summary>
-        /// InputMethodContext language changed.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<LanguageChangedEventArgs> LanguageChanged
-        {
-            add
-            {
-                if (_languageChangedEventHandler == null)
+                if (type == DisposeTypes.Explicit)
                 {
-                    _languageChangedEventCallback = OnLanguageChanged;
-                    LanguageChangedSignal().Connect(_languageChangedEventCallback);
+                    //Called by User.
+                    //Release your own managed resources here.
+                    //You should release all of your own disposable objects here.
+
                 }
 
-                _languageChangedEventHandler += value;
-            }
-            remove
-            {
-                _languageChangedEventHandler -= 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 (_languageChangedEventHandler == null && _languageChangedEventCallback != null)
+                if (swigCPtr.Handle != IntPtr.Zero)
                 {
-                    LanguageChangedSignal().Disconnect(_languageChangedEventCallback);
+                    if (swigCMemOwn)
+                    {
+                        swigCMemOwn = false;
+                        NDalicManualPINVOKE.delete_InputMethodContext_CallbackData(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, IntPtr.Zero);
                 }
-            }
-        }
-
-        private void OnLanguageChanged(int languageChanged)
-        {
-            LanguageChangedEventArgs e = new LanguageChangedEventArgs();
-            e.LanguageChanged = languageChanged;
 
-            if (_languageChangedEventHandler != null)
-            {
-                _languageChangedEventHandler(this, e);
+                disposed = true;
             }
         }
 
-        internal LanguageChangedSignalType LanguageChangedSignal()
-        {
-            LanguageChangedSignalType ret = new LanguageChangedSignalType(NDalicManualPINVOKE.InputMethodContext_LanguageChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// InputMethodContext keyboard type changed event arguments.
+        /// InputMethodContext activated event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public class KeyboardTypeChangedEventArgs : EventArgs
+        public class ActivatedEventArgs : EventArgs
         {
             /// <summary>
-            /// InputMethodContext keyboard type.
+            /// InputMethodContext
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            public KeyboardType KeyboardType
+            public InputMethodContext InputMethodContext
             {
                 get;
                 set;
             }
         }
 
-        private delegate void KeyboardTypeChangedEventCallbackType(KeyboardType type);
-        private KeyboardTypeChangedEventCallbackType _keyboardTypeChangedEventCallback;
-        private event EventHandler<KeyboardTypeChangedEventArgs> _keyboardTypeChangedEventHandler;
-
         /// <summary>
-        /// InputMethodContext keyboard type changed.
+        /// InputMethodContext event receives event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public event EventHandler<KeyboardTypeChangedEventArgs> KeyboardTypeChanged
+        public class EventReceivedEventArgs : EventArgs
         {
-            add
-            {
-                if (_keyboardTypeChangedEventHandler == null)
-                {
-                    _keyboardTypeChangedEventCallback = OnKeyboardTypeChanged;
-                    KeyboardTypeChangedSignal().Connect(_keyboardTypeChangedEventCallback);
-                }
-
-                _keyboardTypeChangedEventHandler += value;
-            }
-            remove
+            /// <summary>
+            /// InputMethodContext
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public InputMethodContext InputMethodContext
             {
-                _keyboardTypeChangedEventHandler -= value;
-
-                if (_keyboardTypeChangedEventHandler == null && _keyboardTypeChangedEventCallback != null)
-                {
-                    KeyboardTypeChangedSignal().Disconnect(_keyboardTypeChangedEventCallback);
-                }
+                get;
+                set;
             }
-        }
 
-        private void OnKeyboardTypeChanged(KeyboardType type)
-        {
-            KeyboardTypeChangedEventArgs e = new KeyboardTypeChangedEventArgs();
-
-            e.KeyboardType = type;
-
-            if (_keyboardTypeChangedEventHandler != null)
+            /// <summary>
+            /// EventData.
+            /// </summary>
+            /// <since_tizen> 5 </since_tizen>
+            public EventData EventData
             {
-                _keyboardTypeChangedEventHandler(this, e);
+                get;
+                set;
             }
         }
 
-        internal KeyboardTypeSignalType KeyboardTypeChangedSignal()
-        {
-            KeyboardTypeSignalType ret = new KeyboardTypeSignalType(NDalicManualPINVOKE.InputMethodContext_KeyboardTypeChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
-        /// The direction of the text.
+        /// InputMethodContext status changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum TextDirection
+        public class StatusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Left to right.
-            /// </summary>
-            LeftToRight,
-            /// <summary>
-            /// Right to left.
+            /// InputMethodContext status.
             /// </summary>
-            RightToLeft
+            /// <since_tizen> 5 </since_tizen>
+            public bool StatusChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Events that are generated by the IMF.
+        /// InputMethodContext resized event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum EventType
+        public class ResizedEventArgs : EventArgs
         {
             /// <summary>
-            /// No event.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            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.
+            /// resized.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            PrivateCommand
+            public int Resized
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the state of the input panel.
+        /// InputMethodContext language changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum State
+        public class LanguageChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Unknown state.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            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.
+            /// Language changed.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            WillShow
+            public int LanguageChanged
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
-        /// Enumeration for the types of keyboard.
+        /// InputMethodContext keyboard type changed event arguments.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public enum KeyboardType
+        public class KeyboardTypeChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Software keyboard (virtual keyboard) is default.
-            /// </summary>
-            /// <since_tizen> 5 </since_tizen>
-            SoftwareKeyboard,
-            /// <summary>
-            /// Hardware keyboard.
+            /// InputMethodContext keyboard type.
             /// </summary>
             /// <since_tizen> 5 </since_tizen>
-            HardwareKeyboard
+            public KeyboardType KeyboardType
+            {
+                get;
+                set;
+            }
         }
     }
 }
index de26fd4..b41a662 100755 (executable)
@@ -24,109 +24,86 @@ 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>
-        /// Dispose.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Key()
+        public Key() : this(NDalicPINVOKE.new_Key__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        /// <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)
         {
-            //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);
-            }
+        internal Key(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~Key()
         {
-            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 (!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Key(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
-
-        internal static Key GetKeyFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Enumeration for specifying the state of the key event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        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>
@@ -261,65 +238,6 @@ 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
@@ -411,27 +329,109 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Enumeration for specifying the state of the key event.
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum StateType
+        public void Dispose()
         {
-            /// <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
+            //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.
+        /// </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)
+        {
+            Key ret = new Key(cPtr, false);
+            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_Key(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
+        }
     }
 }
\ No newline at end of file
index de74b50..664e91b 100755 (executable)
@@ -30,52 +30,20 @@ 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>
-        /// Dispose.
+        /// Creates an initialized KeyFrames handle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public KeyFrames() : this(NDalicPINVOKE.KeyFrames_New(), 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_KeyFrames(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
+        internal KeyFrames(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.KeyFrames_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
 
         /// <summary>
         /// Adds a key frame.
@@ -103,16 +71,6 @@ 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>
@@ -149,6 +107,44 @@ 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 62c0152..b5c73a5 100755 (executable)
@@ -32,6 +32,20 @@ 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);
@@ -44,9 +58,198 @@ namespace Tizen.NUI
             NDalicPINVOKE.Actor_Add( swigCPtr, rootLayoutCPtr );
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
+        /// <summary>
+        /// Enumeration for the behavior of the layer.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum LayerBehavior
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            /// <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
+        {
+            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();
+            }
         }
 
         /// From the Container base class.
@@ -141,97 +344,29 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// Downcasts a handle to layer handle.
         /// </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_Layer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
-
-        }
-
-
-        internal class Property
+        /// 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)
         {
-            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
+            Layer ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as Layer;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Creates a Layer object.
+        /// 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 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 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)
+        public View FindChildById(uint id)
         {
             //to fix memory leak issue, match the handle count with native side.
             IntPtr cPtr = NDalicPINVOKE.Actor_FindChildById(swigCPtr, id);
@@ -246,33 +381,6 @@ namespace Tizen.NUI
         }
 
         /// <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>
@@ -310,62 +418,6 @@ 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>
@@ -427,17 +479,92 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private void SetBehavior(LayerBehavior behavior)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Layer obj)
         {
-            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        private LayerBehavior GetBehavior()
+        internal void SetAnchorPoint(Vector3 anchorPoint)
         {
-            Layer.LayerBehavior ret = (Layer.LayerBehavior)NDalicPINVOKE.Layer_GetBehavior(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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)
+        {
+            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();
+                }
+            }
         }
 
         internal void SetSortFunction(SWIGTYPE_p_f_r_q_const__Dali__Vector3__float function)
@@ -472,211 +599,83 @@ 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);
         }
 
-        /// <summary>
-        /// Enumeration for the behavior of the layer.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum LayerBehavior
+        internal string GetName()
         {
-            /// <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
+            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal enum TreeDepthMultiplier
+        internal void SetName(string name)
         {
-            TREE_DEPTH_MULTIPLIER = 10000
+            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Layer behavior, type String (Layer.LayerBehavior).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Layer.LayerBehavior Behavior
+        protected override void Dispose(DisposeTypes type)
         {
-            get
-            {
-                return GetBehavior();
-            }
-            set
+            if (disposed)
             {
-                SetBehavior(value);
+                return;
             }
-        }
 
-        /// <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
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Layer_SetClipping(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.
             }
-        }
 
-        /// <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
+            //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( ClippingEnabled )
-                {
-                  Rectangle ret = new Rectangle(NDalicPINVOKE.Layer_GetClippingBox(swigCPtr), true);
-                  if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                  return ret;
-                }
-                else
+                if (swigCMemOwn)
                 {
-                  // 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;
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Layer(swigCPtr);
                 }
+                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;
-            }
-        }
-
-        /// <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));
-            }
-        }
+            base.Dispose(type);
 
-        /// <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
+        private void SetBehavior(LayerBehavior behavior)
         {
-            get
-            {
-                return GetName();
-            }
-            set
-            {
-                SetName(value);
-            }
+            NDalicPINVOKE.Layer_SetBehavior(swigCPtr, (int)behavior);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal string GetName()
+        private LayerBehavior GetBehavior()
         {
-            string ret = NDalicPINVOKE.Actor_GetName(swigCPtr);
-            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 SetName(string name)
+        internal class Property
         {
-            NDalicPINVOKE.Actor_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            internal static readonly int BEHAVIOR = NDalicPINVOKE.Layer_Property_BEHAVIOR_get();
         }
-
     }
 }
\ No newline at end of file
index 0ac3912..0f59c87 100755 (executable)
@@ -27,57 +27,19 @@ 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>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
+        /// <param name="state">The state of the gesture</param>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public LongPressGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_LongPressGesture__SWIG_0((int)state), 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_LongPressGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        internal static LongPressGesture GetLongPressGestureFromPtr(global::System.IntPtr cPtr)
+        internal LongPressGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            LongPressGesture ret = new LongPressGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -119,16 +81,6 @@ 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
         {
@@ -177,6 +129,51 @@ 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 255ecca..79d1067 100755 (executable)
@@ -33,106 +33,62 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        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)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// 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>
-        /// <param name="type">The dispose type</param>
+        /// <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)]
-        protected override void Dispose(DisposeTypes type)
+        public LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), 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_LongPressGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Event arguments that passed via the LongPressGestureEvent signal.
+        /// The copy constructor.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <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 class DetectedEventArgs : EventArgs
+        public LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
         {
-            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;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <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 LongPressGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.LongPressGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [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.
@@ -170,83 +126,70 @@ namespace Tizen.NUI
             }
         }
 
-        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
-        {
-            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)
+        /// <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)
         {
-            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Constructor.
+        /// Sets the minimum and maximum touches required.
         /// </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 LongPressGestureDetector() : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_0(), true)
+        public void SetTouchesRequired(uint minTouches, uint maxTouches)
         {
+            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
         }
 
         /// <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 />
+        /// Retrieves the minimum number of touches required.
         /// </summary>
-        /// <param name="touchesRequired">The number of touches required.</param>
+        /// <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 LongPressGestureDetector(uint touchesRequired) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_1(touchesRequired), true)
+        public uint GetMinimumTouchesRequired()
         {
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            return ret;
         }
 
         /// <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 />
+        /// Retrieves the maximum number of touches required.
         /// </summary>
-        /// <param name="minTouches">The minimum number of touches required.</param>
-        /// <param name="maxTouches">The maximum number of touches required.</param>
+        /// <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 LongPressGestureDetector(uint minTouches, uint maxTouches) : this(NDalicPINVOKE.LongPressGestureDetector_New__SWIG_2(minTouches, maxTouches), true)
+        public uint GetMaximumTouchesRequired()
         {
+            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            return ret;
         }
 
-        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
+        internal static LongPressGestureDetector GetLongPressGestureDetectorFromPtr(global::System.IntPtr cPtr)
         {
-            LongPressGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
+            LongPressGestureDetector ret = new LongPressGestureDetector(cPtr, false);
             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 LongPressGestureDetector(LongPressGestureDetector handle) : this(NDalicPINVOKE.new_LongPressGestureDetector__SWIG_1(LongPressGestureDetector.getCPtr(handle)), true)
+        internal new static LongPressGestureDetector DownCast(BaseHandle handle)
         {
+            LongPressGestureDetector ret = Registry.GetManagedBaseHandleFromNativePtr(handle) as LongPressGestureDetector;
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal LongPressGestureDetector Assign(LongPressGestureDetector rhs)
@@ -256,65 +199,117 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <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)
+        internal LongPressGestureDetectedSignal DetectedSignal()
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_0(swigCPtr, touches);
+            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// Sets the minimum and maximum touches required.
-        /// </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)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(LongPressGestureDetector obj)
         {
-            NDalicPINVOKE.LongPressGestureDetector_SetTouchesRequired__SWIG_1(swigCPtr, minTouches, maxTouches);
-            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>
-        /// Retrieves the minimum number of touches required.
+        /// Dispose.
         /// </summary>
-        /// <returns>The minimum number of touches required.</returns>
+        /// <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 uint GetMinimumTouchesRequired()
+        protected override void Dispose(DisposeTypes type)
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMinimumTouchesRequired(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;
+                    NDalicPINVOKE.delete_LongPressGestureDetector(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            base.Dispose(type);
+        }
+
+        private void OnLongPressGestureDetected(IntPtr actor, IntPtr longPressGesture)
+        {
+            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);
+            }
         }
 
         /// <summary>
-        /// Retrieves the maximum number of touches required.
+        /// Event arguments that passed via the LongPressGestureEvent signal.
         /// </summary>
-        /// <returns>The maximum number of touches required.</returns>
+        /// <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 uint GetMaximumTouchesRequired()
+        public class DetectedEventArgs : EventArgs
         {
-            uint ret = NDalicPINVOKE.LongPressGestureDetector_GetMaximumTouchesRequired(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            private View _view;
+            private LongPressGesture _longPressGesture;
 
-        internal LongPressGestureDetectedSignal DetectedSignal()
-        {
-            LongPressGestureDetectedSignal ret = new LongPressGestureDetectedSignal(NDalicPINVOKE.LongPressGestureDetector_DetectedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            /// <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;
+                }
+            }
+        }
     }
-
 }
index 2575bf9..9d4fabd 100755 (executable)
@@ -34,21 +34,11 @@ 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.
@@ -59,8 +49,6 @@ 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>
@@ -147,6 +135,124 @@ 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>
@@ -251,122 +357,35 @@ namespace Tizen.NUI
             base.OnCreate();
             Device.PlatformServices = new TizenPlatformServices();
         }
-
-        /// <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>
-        /// 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
-        }
-
-
-        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
+    /// InhouseAPI, this could be opened in NextTizen
     [EditorBrowsable(EditorBrowsableState.Never)]
     public class Graphics
     {
+        /// <summary>
+        /// Active backend
+        /// </summary>
+        public static BackendType Backend = BackendType.Gles;
+        internal const string GlesCSharpBinder = "libdali-csharp-binder.so";
+        internal const string VulkanCSharpBinder = "libdali-csharp-binder-vk.so";
+
+        /// <summary>
+        /// Enumeration for Rendering backend
+        /// </summary>
         public enum BackendType
         {
+            /// <summary>
+            /// GLES
+            /// </summary>
             Gles,
+            /// <summary>
+            /// Vulkan
+            /// </summary>
             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 d7d042c..67d0a67 100755 (executable)
@@ -688,7 +688,6 @@ namespace Tizen.NUI
        Attached
     }
 
-
     /// <summary>
     /// The type of coordinate system for certain attributes of the points in a gradient.
     /// </summary>
@@ -914,931 +913,1130 @@ namespace Tizen.NUI
     }
 
     /// <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
-        }
-
+        HideNone,
         /// <summary>
-        /// This specifies visual properties.
+        /// Hide all the input text.
         /// </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;
-        }
-
+        HideAll,
         /// <summary>
-        /// This specifies shader properties.
+        /// Hide n characters from start.
         /// </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;
-        }
-
+        HideCount,
         /// <summary>
-        /// This specifies visaul align types.
+        /// Show n characters from start.
         /// </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
-        }
+        ShowCount,
+        /// <summary>
+        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
+        /// </summary>
+        ShowLastCharacter
     }
 
     /// <summary>
-    /// This specifies properties of the BorderVisual.
+    /// Auto scrolling stop behavior.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct BorderVisualProperty
+    public enum AutoScrollStopMode
     {
         /// <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).
+        /// Stop animation after current loop finished.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Size = NDalic.BORDER_VISUAL_SIZE;
+        FinishLoop,
         /// <summary>
-        /// Whether anti-aliasing of the border is required.
+        /// Stop animation immediately and reset position.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int AntiAliasing = NDalic.BORDER_VISUAL_ANTI_ALIASING;
+        Immediate
     }
 
     /// <summary>
-    /// This specifies properties of the ColorVisual.
+    /// An enum of screen mode.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct ColorVisualProperty
+    /// <since_tizen> 4 </since_tizen>
+    public enum ScreenOffMode
     {
         /// <summary>
-        /// The solid color required.
+        /// The mode which turns the screen off after a timeout.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.COLOR_VISUAL_MIX_COLOR;
+        Timout,
         /// <summary>
-        /// Whether to render if the MixColor is transparent.
+        /// The mode which keeps the screen turned on.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int RenderIfTransparent = NDalic.COLOR_VISUAL_MIX_COLOR + 1;
+        Never
     }
 
     /// <summary>
-    /// This specifies properties of the GradientVisual.
+    /// An enum of notification window's priority level.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct GradientVisualProperty
+    public enum NotificationLevel
     {
         /// <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.
+        /// No notification level.<br />
+        /// Default level.<br />
+        /// This value makes the notification window place in the layer of the normal window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EndPosition = NDalic.GRADIENT_VISUAL_END_POSITION;
+        None = -1,
         /// <summary>
-        /// The center point of a radial gradient.
+        /// The base nofitication level.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Center = NDalic.GRADIENT_VISUAL_CENTER;
+        Base = 10,
         /// <summary>
-        /// The size of the radius of a radial gradient.
+        /// The medium notification level than base.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Radius = NDalic.GRADIENT_VISUAL_RADIUS;
+        Medium = 20,
         /// <summary>
-        /// All the stop offsets.
+        /// The higher notification level than medium.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int StopOffset = NDalic.GRADIENT_VISUAL_STOP_OFFSET;
+        High = 30,
         /// <summary>
-        /// The color at the stop offsets.
+        /// The highest notification level.
         /// </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;
+        Top = 40
     }
 
     /// <summary>
-    /// This specifies properties of the ImageVisual.
+    /// An enum of window types.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct ImageVisualProperty
+    public enum WindowType
     {
         /// <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.
+        /// A default window type.<br />
+        /// Indicates a normal or top-level window.
+        /// Almost every window will be created with this type.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        Normal,
         /// <summary>
-        /// The desired image height.
+        /// A notification window, like a warning about battery life or a new email received.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        Notification,
         /// <summary>
-        /// Whether to load the image synchronously.
+        /// A persistent utility window, like a toolbox or a palette.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        Utility,
         /// <summary>
-        /// If true, only draws the borders.
+        /// Used for simple dialog windows.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        Dialog
+    }
+
+    /// <since_tizen> 3 </since_tizen>
+    public enum DisposeTypes
+    {
         /// <summary>
-        /// The image area to be displayed.
+        /// Called By User
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        Explicit,
         /// <summary>
-        /// The wrap mode for u coordinate.
+        /// Called by DisposeQueue
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        Implicit,
+    }
+
+    /// <summary>
+    /// An enum of the scroll state of the text eidtor.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public enum ScrollState
+    {
         /// <summary>
-        /// The wrap mode for v coordinate.
+        /// Scrolling is started.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        Started,
+
         /// <summary>
-        /// The border of the image.
+        /// Scrolling is finished.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_BORDER;
+        Finished
+    }
+
+    /// <summary>
+    /// An enum of the line wrap mode of text controls.
+    /// </summary>
+    /// <since_tizen> 4 </since_tizen>
+    public enum LineWrapMode
+    {
         /// <summary>
-        /// Whether to use the texture atlas.
+        /// The word mode will move a word to the next line.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public static readonly int Atlasing = NDalic.IMAGE_VISUAL_BORDER + 1;
+        /// <since_tizen> 4 </since_tizen>
+        Word,
+
         /// <summary>
-        /// The scale factor to apply to the content image before masking.
+        /// character will move character by character to the next line.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public static readonly int MaskContentScale = NDalic.IMAGE_VISUAL_MASK_CONTENT_SCALE;
+        Character
+    }
+
+    /// <summary>
+    /// An enum of text directions.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum TextDirection
+    {
         /// <summary>
-        /// Whether to crop image to mask or scale mask to fit image
+        /// Text direction is from left to right.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CropToMask = NDalic.IMAGE_VISUAL_CROP_TO_MASK;
+        /// <since_tizen> 5 </since_tizen>
+        LeftToRight,
+
         /// <summary>
-        /// Defines the batch size for pre-loading images in the AnimatedImageVisual
+        /// Text direction is from right to left.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int BatchSize = NDalic.IMAGE_VISUAL_BATCH_SIZE;
+        /// <since_tizen> 5 </since_tizen>
+        RightToLeft
+    }
+
+    /// <summary>
+    /// An enum of vertical line alignments.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum VerticalLineAlignment
+    {
         /// <summary>
-        /// Defines the cache size for loading images in the AnimatedImageVisual
+        /// vertical line alignment is from top.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int CacheSize = NDalic.IMAGE_VISUAL_CACHE_SIZE;
+        /// <since_tizen> 5 </since_tizen>
+        Top,
+
         /// <summary>
-        /// The number of milliseconds between each frame in the AnimatedImageVisual
+        /// vertical line alignment is from center.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int FrameDelay = NDalic.IMAGE_VISUAL_FRAME_DELAY;
+        /// <since_tizen> 5 </since_tizen>
+        Center,
+
         /// <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.
+        /// vertical line alignment is from bottom.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoopCount = NDalic.IMAGE_VISUAL_LOOP_COUNT;
+        Bottom
+    }
+
+    /// <summary>
+    /// Enumeration type for the font's slant.
+    /// </summary>
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontSlantType
+    {
         /// <summary>
-        /// The policy to determine when an image should no longer be cached.
+        /// None.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int ReleasePolicy = NDalic.IMAGE_VISUAL_RELEASE_POLICY;
+        None,
         /// <summary>
-        /// The policy to determine when an image should be loaded.
+        /// Normal.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int LoadPolicy = NDalic.IMAGE_VISUAL_LOAD_POLICY;
+        Normal,
         /// <summary>
-        /// Determines if image orientation should be corrected so that the image displays as it was intended.
+        /// Roman.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int OrientationCorrection = NDalic.IMAGE_VISUAL_ORIENTATION_CORRECTION;
+        Roman = Normal,
         /// <summary>
-        /// Overlays the auxiliary image on top of an NPatch image.
+        /// Italic.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageURL = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_URL;
+        Italic,
         /// <summary>
-        /// Alpha value for the auxiliary image, without affecting the underlying NPatch image
+        /// Oblique.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int AuxiliaryImageAlpha = NDalic.IMAGE_VISUAL_AUXILIARY_IMAGE_ALPHA;
+        Oblique
     }
 
     /// <summary>
-    /// This specifies properties of the MeshVisual.
+    /// Enumeration type for the font's weight.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct MeshVisualProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWeightType
     {
         /// <summary>
-        /// The location of the ".obj" file.
+        /// None.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ObjectURL = NDalic.MESH_VISUAL_OBJECT_URL;
+        /// <since_tizen> 5 </since_tizen>
+        None,
         /// <summary>
-        /// The location of the ".mtl" file.
+        /// Thin.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MaterialtURL = NDalic.MESH_VISUAL_MATERIAL_URL;
+        /// <since_tizen> 5 </since_tizen>
+        Thin,
         /// <summary>
-        /// Path to the directory the textures (including gloss and normal) are stored in.
+        /// UltraLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TexturesPath = NDalic.MESH_VISUAL_TEXTURES_PATH;
+        /// <since_tizen> 5 </since_tizen>
+        UltraLight,
         /// <summary>
-        /// Sets the type of shading mode that the mesh will use.
+        /// ExtraLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int ShadingMode = NDalic.MESH_VISUAL_SHADING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraLight = UltraLight,
         /// <summary>
-        /// Whether to use mipmaps for textures or not.
+        /// Light.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseMipmapping = NDalic.MESH_VISUAL_USE_MIPMAPPING;
+        /// <since_tizen> 5 </since_tizen>
+        Light,
         /// <summary>
-        /// Whether to average normals at each point to smooth textures or not.
+        /// DemiLight.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int UseSoftNormals = NDalic.MESH_VISUAL_USE_SOFT_NORMALS;
+        /// <since_tizen> 5 </since_tizen>
+        DemiLight,
         /// <summary>
-        /// The position, in stage space, of the point light that applies lighting to the model.
+        /// SemiLight.
         /// </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
-    {
+        /// <since_tizen> 5 </since_tizen>
+        SemiLight = DemiLight,
         /// <summary>
-        /// The specific shape to render.
+        /// Book.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Shape = NDalic.PRIMITIVE_VISUAL_SHAPE;
+        /// <since_tizen> 5 </since_tizen>
+        Book,
         /// <summary>
-        /// The color of the shape.
+        /// Normal.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MixColor = NDalic.PRIMITIVE_VISUAL_MIX_COLOR;
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
         /// <summary>
-        /// The number of slices as you go around the shape.
+        /// Regular.
         /// </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;
+        /// <since_tizen> 5 </since_tizen>
+        Regular = Normal,
         /// <summary>
-        /// The single-line or multi-line layout option.
+        /// Medium.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
+        /// <since_tizen> 5 </since_tizen>
+        Medium,
         /// <summary>
-        /// The line horizontal alignment.
+        /// DemiBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
+        /// <since_tizen> 5 </since_tizen>
+        DemiBold,
         /// <summary>
-        /// The line vertical alignment.
+        /// SemiBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
+        /// <since_tizen> 5 </since_tizen>
+        SemiBold = DemiBold,
         /// <summary>
-        /// The color of the text.
+        /// Bold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
+        /// <since_tizen> 5 </since_tizen>
+        Bold,
         /// <summary>
-        /// Whether the mark-up processing is enabled.
+        /// UltraBold.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        /// <since_tizen> 5 </since_tizen>
+        UltraBold,
         /// <summary>
-        /// The shadow parameters.
+        /// ExtraBold.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
+        ExtraBold = UltraBold,
         /// <summary>
-        /// The default underline parameters.
+        /// Black.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
+        Black,
         /// <summary>
-        /// The default outline parameters.
+        /// Heavy.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
+        Heavy = Black,
         /// <summary>
-        /// The default text background parameters.
+        /// ExtraBlack.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
+        ExtraBlack = Black
     }
 
     /// <summary>
-    /// This specifies properties of the NpatchImageVisual.
+    /// Enumeration type for the font's width.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct NpatchImageVisualProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum FontWidthType
     {
         /// <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.
+        /// None.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        None,
         /// <summary>
-        /// Filtering options, used when resizing images to sample original pixels.
+        /// UltraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SamplingMode = NDalic.IMAGE_VISUAL_SAMPLING_MODE;
+        /// <since_tizen> 5 </since_tizen>
+        UltraCondensed,
         /// <summary>
-        /// The desired image width.
+        /// ExtraCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredWidth = NDalic.IMAGE_VISUAL_DESIRED_WIDTH;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraCondensed,
         /// <summary>
-        /// The desired image height.
+        /// Condensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int DesiredHeight = NDalic.IMAGE_VISUAL_DESIRED_HEIGHT;
+        /// <since_tizen> 5 </since_tizen>
+        Condensed,
         /// <summary>
-        /// Whether to load the image synchronously.
+        /// SemiCondensed.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SynchronousLoading = NDalic.IMAGE_VISUAL_SYNCHRONOUS_LOADING;
+        /// <since_tizen> 5 </since_tizen>
+        SemiCondensed,
         /// <summary>
-        /// If true, only draws the borders.
+        /// Normal.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int BorderOnly = NDalic.IMAGE_VISUAL_BORDER_ONLY;
+        /// <since_tizen> 5 </since_tizen>
+        Normal,
         /// <summary>
-        /// The image area to be displayed.
+        /// SemiExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int PixelArea = NDalic.IMAGE_VISUAL_PIXEL_AREA;
+        /// <since_tizen> 5 </since_tizen>
+        SemiExpanded,
         /// <summary>
-        /// The wrap mode for u coordinate.
+        /// Expanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeU = NDalic.IMAGE_VISUAL_WRAP_MODE_U;
+        /// <since_tizen> 5 </since_tizen>
+        Expanded,
         /// <summary>
-        /// The wrap mode for v coordinate.
+        /// ExtraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int WrapModeV = NDalic.IMAGE_VISUAL_WRAP_MODE_V;
+        /// <since_tizen> 5 </since_tizen>
+        ExtraExpanded,
         /// <summary>
-        /// The border of the image.
+        /// UltraExpanded.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Border = NDalic.IMAGE_VISUAL_WRAP_MODE_V + 1;
+        /// <since_tizen> 5 </since_tizen>
+        UltraExpanded
     }
 
     /// <summary>
-    /// The HiddenInput property.
+    /// Enumeration type for the glyph type.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public struct HiddenInputProperty
+    /// <since_tizen> 5 </since_tizen>
+    public enum GlyphType
     {
         /// <summary>
-        /// The mode for input text display.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
-        /// <summary>
-        /// All input characters are substituted by this character.
-        /// </summary>
-        /// <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.
+        /// Glyph stored as pixels.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static readonly int SubstituteCount = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_COUNT_get();
+        /// <since_tizen> 5 </since_tizen>
+        BitmapGlyph,
         /// <summary>
-        /// Hide last character after this duration, available when SHOW_LAST_CHARACTER mode.
+        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public static readonly int ShowLastCharacterDuration = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SHOW_LAST_CHARACTER_DURATION_get();
+        /// <since_tizen> 5 </since_tizen>
+        VectorGlyph
     }
 
     /// <summary>
-    /// The type for HiddenInput mode.
+    /// Enumeration for Setting the rendering behavior of a Window.
     /// </summary>
-    /// <since_tizen> 3 </since_tizen>
-    public enum HiddenInputModeType
+    /// <since_tizen> 5 </since_tizen>
+    public enum RenderingBehaviorType
     {
         /// <summary>
-        /// Don't hide text.
-        /// </summary>
-        HideNone,
-        /// <summary>
-        /// Hide all the input text.
-        /// </summary>
-        HideAll,
-        /// <summary>
-        /// Hide n characters from start.
-        /// </summary>
-        HideCount,
-        /// <summary>
-        /// Show n characters from start.
+        /// Default. Only renders if required.
         /// </summary>
-        ShowCount,
+        IfRequired,
         /// <summary>
-        /// Show last character for the duration(use ShowLastCharacterDuration property to modify duration).
+        /// Renders continuously.
         /// </summary>
-        ShowLastCharacter
+        Continuously
     }
 
     /// <summary>
-    /// ParentOrigin constants.
+    /// This specifies visual types.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct ParentOrigin
+    public struct Visual
     {
         /// <summary>
-        /// Top
+        /// The index for the visual type.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Top
+        public enum Type
         {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
+            /// <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>
-        /// Bottom
+        /// 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 float Bottom
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int Text = NDalic.TEXT_VISUAL_TEXT;
         /// <summary>
-        /// Left
+        /// The requested font family to use.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Left
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int FontFamily = NDalic.TEXT_VISUAL_FONT_FAMILY;
         /// <summary>
-        /// Right
+        /// The requested font style to use.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Right
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginRight_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int FontStyle = NDalic.TEXT_VISUAL_FONT_STYLE;
         /// <summary>
-        /// Middle
+        /// The size of font in points.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float Middle
-        {
-            get
-            {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
-            }
-        }
-
+        public static readonly int PointSize = NDalic.TEXT_VISUAL_POINT_SIZE;
         /// <summary>
-        /// TopLeft
+        /// The single-line or multi-line layout option.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int MultiLine = NDalic.TEXT_VISUAL_MULTI_LINE;
         /// <summary>
-        /// TopCenter
+        /// The line horizontal alignment.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int HorizontalAlignment = NDalic.TEXT_VISUAL_HORIZONTAL_ALIGNMENT;
         /// <summary>
-        /// TopRight
+        /// The line vertical alignment.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int VerticalAlignment = NDalic.TEXT_VISUAL_VERTICAL_ALIGNMENT;
         /// <summary>
-        /// CenterLeft
+        /// The color of the text.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int TextColor = NDalic.TEXT_VISUAL_TEXT_COLOR;
         /// <summary>
-        /// Center
+        /// Whether the mark-up processing is enabled.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
+        public static readonly int EnableMarkup = NDalic.TEXT_VISUAL_ENABLE_MARKUP;
+        /// <summary>
+        /// The shadow parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Shadow = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 1;
+        /// <summary>
+        /// The default underline parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Underline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 2;
+        /// <summary>
+        /// The default outline parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Outline = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 3;
+        /// <summary>
+        /// The default text background parameters.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public static readonly int Background = NDalic.TEXT_VISUAL_ENABLE_MARKUP + 4;
+    }
 
+    /// <summary>
+    /// This specifies properties of the NpatchImageVisual.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct NpatchImageVisualProperty
+    {
         /// <summary>
-        /// CenterRight
+        /// The URL of the image.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int URL = NDalic.IMAGE_VISUAL_URL;
         /// <summary>
-        /// BottomLeft
+        /// Fitting options, used when resizing images to fit desired dimensions.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
-
+        public static readonly int FittingMode = NDalic.IMAGE_VISUAL_FITTING_MODE;
         /// <summary>
-        /// BottomCenter
+        /// Filtering options, used when resizing images to sample original pixels.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        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;
-            }
-        }
+        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>
+    /// The HiddenInput property.
+    /// </summary>
+    /// <since_tizen> 3 </since_tizen>
+    public struct HiddenInputProperty
+    {
+        /// <summary>
+        /// The mode for input text display.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int Mode = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_MODE_get();
+        /// <summary>
+        /// All input characters are substituted by this character.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static readonly int SubstituteCharacter = NDalicManualPINVOKE.HIDDENINPUT_PROPERTY_SUBSTITUTE_CHARACTER_get();
         /// <summary>
-        /// BottomRight
+        /// Length of text to show or hide, available when HIDE_COUNT/SHOW_COUNT mode is used.
         /// </summary>
         /// <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;
-            }
-        }
+        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>
-    /// PivotPoint constants.
+    /// ParentOrigin constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public struct PivotPoint
+    public struct ParentOrigin
     {
         /// <summary>
         /// Top
@@ -1848,11 +2046,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Bottom
         /// </summary>
@@ -1861,11 +2060,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Left
         /// </summary>
@@ -1874,11 +2074,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Right
         /// </summary>
@@ -1887,11 +2088,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointRight_get();
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// Middle
         /// </summary>
@@ -1900,11 +2102,12 @@ namespace Tizen.NUI
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
+
         /// <summary>
         /// TopLeft
         /// </summary>
@@ -1913,12 +2116,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_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>
         /// TopCenter
         /// </summary>
@@ -1927,12 +2131,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_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>
         /// TopRight
         /// </summary>
@@ -1941,12 +2146,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_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>
         /// CenterLeft
         /// </summary>
@@ -1955,12 +2161,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_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>
         /// Center
         /// </summary>
@@ -1969,12 +2176,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenter_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>
         /// CenterRight
         /// </summary>
@@ -1983,12 +2191,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterRight_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>
         /// BottomLeft
         /// </summary>
@@ -1997,12 +2206,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomLeft_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>
         /// BottomCenter
         /// </summary>
@@ -2011,12 +2221,13 @@ namespace Tizen.NUI
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointBottomCenter_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>
         /// BottomRight
         /// </summary>
@@ -2025,214 +2236,19 @@ namespace Tizen.NUI
         {
             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;
-            }
-        }
-    }
-
-    /// <summary>
-    /// 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,
+                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>
-    /// [Obsolete("Please do not use! this will be deprecated")]
+    /// PivotPoint constants.
     /// </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
+    public struct PivotPoint
     {
         /// <summary>
         /// Top
@@ -2426,313 +2442,296 @@ namespace Tizen.NUI
             }
         }
     }
-
     /// <summary>
-    /// An enum of the scroll state of the text eidtor.
+    /// PositionAxis constants.
     /// </summary>
     /// <since_tizen> 3 </since_tizen>
-    public enum ScrollState
-    {
-        /// <summary>
-        /// Scrolling is started.
-        /// </summary>
-        Started,
-
-        /// <summary>
-        /// Scrolling is finished.
-        /// </summary>
-        Finished
-    }
-
-    /// <summary>
-    /// An enum of the line wrap mode of text controls.
-    /// </summary>
-    /// <since_tizen> 4 </since_tizen>
-    public enum LineWrapMode
-    {
-        /// <summary>
-        /// The word mode will move a word to the next line.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Word,
-
-        /// <summary>
-        /// character will move character by character to the next line.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        Character
-    }
-
-    /// <summary>
-    /// An enum of text directions.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum TextDirection
-    {
-        /// <summary>
-        /// 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
+    public struct PositionAxis
     {
         /// <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.
+        /// The X axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Bold,
+        /// <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>
-        /// UltraBold.
+        /// The Y axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraBold,
+        /// <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>
-        /// ExtraBold.
+        /// The Z axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBold = UltraBold,
+        /// <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>
-        /// Black.
+        /// The Negative X axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Black,
+        /// <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>
-        /// Heavy.
+        /// The Negative Y axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Heavy = Black,
+        /// <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>
-        /// ExtraBlack.
+        /// The Negative Z axis
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraBlack = Black
+        /// <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;
+            }
+        }
     }
 
     /// <summary>
-    /// Enumeration type for the font's width.
+    /// [Obsolete("Please do not use! this will be deprecated")]
     /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum FontWidthType
+    /// <since_tizen> 3 </since_tizen>
+    [Obsolete("Please do not use! This will be deprecated! Please use PivotPoint instead!")]
+    [EditorBrowsable(EditorBrowsableState.Never)]
+    public struct AnchorPoint
     {
         /// <summary>
-        /// None.
+        /// Top
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        None,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// UltraCondensed.
+        /// Bottom
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraCondensed,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// ExtraCondensed.
+        /// Left
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraCondensed,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Condensed.
+        /// Right
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Condensed,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// SemiCondensed.
+        /// Middle
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiCondensed,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Normal.
+        /// TopLeft
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Normal,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// SemiExpanded.
+        /// TopCenter
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        SemiExpanded,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Expanded.
+        /// TopRight
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        Expanded,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// ExtraExpanded.
+        /// CenterLeft
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        ExtraExpanded,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// UltraExpanded.
+        /// Center
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        UltraExpanded
-    }
-
-    /// <summary>
-    /// Enumeration type for the glyph type.
-    /// </summary>
-    /// <since_tizen> 5 </since_tizen>
-    public enum GlyphType
-    {
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Glyph stored as pixels.
+        /// CenterRight
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        BitmapGlyph,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Glyph stored as vectors (scalable). This feature requires highp shader support and is not available on all platforms.
+        /// BottomLeft
         /// </summary>
-        /// <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
-    {
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Default. Only renders if required.
+        /// BottomCenter
         /// </summary>
-        IfRequired,
+        /// <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;
+            }
+        }
         /// <summary>
-        /// Renders continuously.
+        /// BottomRight
         /// </summary>
-        Continuously
+        /// <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;
+            }
+        }
     }
-
 }
index 70c52fd..87e1d8b 100755 (executable)
@@ -20,7 +20,6 @@ using System.Collections.Generic;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// Represents an application that have UI screen. The NUIWidgetApplication class has a default stage.
     /// </summary>
@@ -51,6 +50,35 @@ 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>
@@ -122,34 +150,5 @@ 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 5e21aa7..cd038e3 100755 (executable)
@@ -26,178 +26,61 @@ 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;
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PaddingType()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an uninitialized PaddingType.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public PaddingType() : this(NDalicPINVOKE.new_PaddingType__SWIG_0(), 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 (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// 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>
-        protected virtual void Dispose(DisposeTypes type)
+        public PaddingType(float start, float end, float top, float bottom) : this(NDalicPINVOKE.new_PaddingType__SWIG_1(start, end, top, bottom), 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_PaddingType(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <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)
+        internal PaddingType(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            // 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));
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Inequality operator.
+        /// Dispose.
         /// </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>
-        /// 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)
+        ~PaddingType()
         {
-            if(o == null)
-            {
-                return false;
-            }
-            if(!(o is PaddingType))
+            if (!isDisposeQueued)
             {
-                return false;
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            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>
@@ -264,42 +147,6 @@ 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
@@ -389,6 +236,160 @@ 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 f590dec..206efbe 100755 (executable)
@@ -32,57 +32,27 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
-
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGesture obj)
+        /// <summary>
+        /// The default constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PanGesture() : this(NDalicPINVOKE.new_PanGesture__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// The constructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        /// <param name="state">The state of the gesture</param>
+        internal PanGesture(Gesture.StateType state) : this(NDalicPINVOKE.new_PanGesture__SWIG_1((int)state), 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_PanGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        internal static PanGesture GetPanGestureFromPtr(global::System.IntPtr cPtr)
+        internal PanGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            PanGesture ret = new PanGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -183,24 +153,6 @@ 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
         {
@@ -313,6 +265,7 @@ namespace Tizen.NUI
             }
         }
 
+
         /// <summary>
         /// Returns the speed at which the user is moving their fingers.<br />
         /// This is the pixel movement per millisecond.<br />
@@ -368,6 +321,53 @@ 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 ffb8d77..b80f885 100755 (executable)
@@ -31,107 +31,39 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        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;
-        }
+        private DaliEventHandler<object, DetectedEventArgs> _panGestureEventHandler;
+        private DetectedCallbackDelegate _panGestureCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized PanGestureDetector.
         /// </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 PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), 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_PanGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
-
         /// <summary>
-        /// Event arguments that are passed via the PanGestureEvent signal.
+        /// The copy constructor.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <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 class DetectedEventArgs : EventArgs
+        public PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
         {
-            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;
-                }
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-            /// <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;
-                }
-            }
+        internal PanGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PanGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+
         [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.
@@ -169,138 +101,6 @@ 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>
@@ -414,39 +214,108 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates an initialized PanGestureDetector.
+        /// Retrieves the screen 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 PanGestureDetector() : this(NDalicPINVOKE.PanGestureDetector_New(), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
-        }
-
-        internal new static PanGestureDetector DownCast(BaseHandle handle)
+        public Vector2 ScreenPosition
         {
-            PanGestureDetector ret =  Registry.GetManagedBaseHandleFromNativePtr(handle) as PanGestureDetector;
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                Vector2 temp = new Vector2(0.0f, 0.0f);
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
+                return temp;
+            }
         }
 
         /// <summary>
-        /// The copy constructor.
+        /// Retrieves the screen displacement.
         /// </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 PanGestureDetector(PanGestureDetector handle) : this(NDalicPINVOKE.new_PanGestureDetector__SWIG_1(PanGestureDetector.getCPtr(handle)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        internal PanGestureDetector Assign(PanGestureDetector rhs)
+        public Vector2 ScreenDisplacement
         {
-            PanGestureDetector ret = new PanGestureDetector(NDalicPINVOKE.PanGestureDetector_Assign(swigCPtr, PanGestureDetector.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
+            }
+        }
+
+        /// <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
+            {
+                bool temp = false;
+                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
+                return temp;
+            }
         }
 
         /// <summary>
@@ -570,13 +439,6 @@ 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>
@@ -612,13 +474,6 @@ 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>
@@ -631,109 +486,250 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Retrieves the screen 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 ScreenPosition
+        internal static PanGestureDetector GetPanGestureDetectorFromPtr(global::System.IntPtr cPtr)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_POSITION).Get(temp);
-                return temp;
-            }
+            PanGestureDetector ret = new PanGestureDetector(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <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
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PanGestureDetector obj)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_DISPLACEMENT).Get(temp);
-                return temp;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        /// <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
+        internal new static PanGestureDetector DownCast(BaseHandle handle)
         {
-            get
-            {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.SCREEN_VELOCITY).Get(temp);
-                return temp;
-            }
+            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>
-        /// Retrieves the local position.
+        /// 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 Vector2 LocalPosition
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_POSITION).Get(temp);
-                return temp;
+                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>
-        /// 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
+        private void OnPanGestureDetected(IntPtr actor, IntPtr panGesture)
         {
-            get
+            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)
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_DISPLACEMENT).Get(temp);
-                return temp;
+                //here we send all data to user event handlers
+                _panGestureEventHandler(this, e);
             }
+
         }
 
         /// <summary>
-        /// Retrieves the local velocity.
+        /// Event arguments that are passed via the PanGestureEvent 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 Vector2 LocalVelocity
+        public class DetectedEventArgs : EventArgs
         {
-            get
+            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
             {
-                Vector2 temp = new Vector2(0.0f, 0.0f);
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.LOCAL_VELOCITY).Get(temp);
-                return temp;
+                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;
+                }
             }
         }
 
-        /// <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 class Property : global::System.IDisposable
         {
-            get
+            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)
             {
-                bool temp = false;
-                Tizen.NUI.Object.GetProperty(swigCPtr, PanGestureDetector.Property.PANNING).Get(out temp);
-                return temp;
+                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()
+            {
+                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(Property 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;
+                        NDalicPINVOKE.delete_PanGestureDetector_Property(swigCPtr);
+                    }
+                    swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                }
+
+                disposed = true;
+            }
+
+
         }
     }
 
index 6dd06d7..b72cc51 100755 (executable)
@@ -30,67 +30,56 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// Creates an initialized path handle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public Path() : this(NDalicPINVOKE.Path_New(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
+        internal Path(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Path_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
+
         /// <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
-        {
-            internal static readonly int POINTS = NDalicPINVOKE.Path_Property_POINTS_get();
-            internal static readonly int CONTROL_POINTS = NDalicPINVOKE.Path_Property_CONTROL_POINTS_get();
         }
 
         /// <summary>
-        /// Creates an initialized path handle.
+        /// Enumeration for the ControlPoints.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Path() : this(NDalicPINVOKE.Path_New(), true)
+        public PropertyArray ControlPoints
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            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));
+            }
         }
 
         /// <summary>
@@ -180,40 +169,51 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// Enumeration for the Points.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyArray Points
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Path obj)
         {
-            get
-            {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.POINTS).Get(temp);
-                return temp;
-            }
-            set
-            {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.POINTS, new Tizen.NUI.PropertyValue(value));
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// Enumeration for the ControlPoints.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispoase type</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyArray ControlPoints
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                Tizen.NUI.PropertyArray temp = new Tizen.NUI.PropertyArray();
-                Tizen.NUI.Object.GetProperty(swigCPtr, Path.Property.CONTROL_POINTS).Get(temp);
-                return temp;
+                return;
             }
-            set
+
+            if (type == DisposeTypes.Explicit)
             {
-                Tizen.NUI.Object.SetProperty(swigCPtr, Path.Property.CONTROL_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();
         }
 
     }
index f1b122a..f1a7f4f 100755 (executable)
@@ -33,53 +33,6 @@ 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 />
@@ -206,6 +159,53 @@ 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 133164f..2566212 100755 (executable)
@@ -30,16 +30,110 @@ 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>
@@ -79,6 +173,22 @@ 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>
@@ -127,114 +237,6 @@ 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 79d977a..6392333 100755 (executable)
@@ -38,51 +38,6 @@ 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>
@@ -102,11 +57,9 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal PixelBuffer Assign(PixelBuffer rhs)
+        internal PixelBuffer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PixelBuffer_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            PixelBuffer ret = new PixelBuffer(NDalicPINVOKE.PixelBuffer_Assign(swigCPtr, PixelBuffer.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -142,14 +95,6 @@ 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>
@@ -302,6 +247,61 @@ 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 b5c776e..386907e 100755 (executable)
@@ -36,53 +36,6 @@ 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>
@@ -101,6 +54,30 @@ 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>
@@ -143,23 +120,46 @@ 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>
-        /// Enumeration for function to release the pixel buffer.
+        /// Dispose.
         /// </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
+        protected override void Dispose(DisposeTypes type)
         {
-            /// <summary>
-            /// Use free function to release the pixel buffer.
-            /// </summary>
-            Free,
+            if (disposed)
+            {
+                return;
+            }
 
-            /// <summary>
-            /// Use delete[] operator to release the pixel buffer.
-            /// </summary>
-            DeleteArray
+            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);
         }
     }
 }
\ No newline at end of file
index 4a70047..18ee84f 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -29,31 +29,58 @@ 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;
 
-        internal Position(global::System.IntPtr cPtr, bool cMemoryOwn)
+        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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// The constructor.
         /// </summary>
+        /// <param name="position2d">Position2D to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        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);
+        }
+
 
         /// <summary>
         /// Dispose.
@@ -69,437 +96,319 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// ParentOrigin constants. It's 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public static float ParentOriginTop
         {
-            //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
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// ParentOrigin constants. It's 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public static float ParentOriginBottom
         {
-            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);
+                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
-
         /// <summary>
-        /// An addition operator.
+        /// ParentOrigin constants. It's 0.0.
         /// </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)
+        public static float ParentOriginLeft
         {
-            return arg1.Add(arg2);
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The subtraction operator.
+        /// ParentOrigin constants. It's 1.0.
         /// </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)
+        public static float ParentOriginRight
         {
-            return arg1.Subtract(arg2);
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginRight_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The unary negation operator.
+        /// ParentOrigin constants. It's 0.5.
         /// </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 float ParentOriginMiddle
         {
-            return arg1.Subtract();
+            get
+            {
+                float ret = NDalicPINVOKE.ParentOriginMiddle_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// ParentOrigin constants: 0.0, 0.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 ParentOriginTopLeft
         {
-            return arg1.Multiply(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;
+            }
         }
 
         /// <summary>
-        /// The multiplication operator.
+        /// ParentOrigin constants: 0.5, 0.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 ParentOriginTopCenter
         {
-            return arg1.Multiply(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;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// ParentOrigin constants: 1.0, 0.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 ParentOriginTopRight
         {
-            return arg1.Divide(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;
+            }
         }
 
         /// <summary>
-        /// The division operator.
+        /// ParentOrigin constants: 0.0, 0.5, 0.5.
         /// </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 ParentOriginCenterLeft
         {
-            return arg1.Divide(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;
+            }
         }
 
-
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, 1, or 2.
+        /// ParentOrigin constants: 0.0, 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 ParentOriginCenter
         {
             get
             {
-                return ValueOfIndex(index);
+                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;
             }
         }
 
-        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>
-        /// The constructor.
+        /// ParentOrigin constants: 1.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Position() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        public static Position ParentOriginCenterRight
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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>
-        /// The constructor.
+        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
         /// </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)
+        public static Position ParentOriginBottomLeft
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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>
-        /// The constructor.
+        /// ParentOrigin constants: 0.5, 1.0, 0.5.
         /// </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)
+        public static Position ParentOriginBottomCenter
         {
-            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)
+            get
             {
-                equal = true;
+                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;
             }
-            return equal;
-        }
-
-        /// <summary>
-        /// 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 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.
+        /// ParentOrigin constants: 1.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        public static Position ParentOriginBottomRight
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                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>
-        /// The y component.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Y
+        public static float PivotPointTop
         {
-            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.AnchorPointTop_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// The z component.
+        /// PivotPoint constants: 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public float Z
+        public static float PivotPointBottom
         {
-            set
-            {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
             get
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
+                float ret = NDalicPINVOKE.AnchorPointBottom_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginTop
+        public static float PivotPointLeft
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginTop_get();
+                float ret = NDalicPINVOKE.AnchorPointLeft_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// PivotPoint constants: 1.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginBottom
+        public static float PivotPointRight
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginBottom_get();
+                float ret = NDalicPINVOKE.AnchorPointRight_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 0.0.
+        /// PivotPoint constants: 0.0.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginLeft
+        public static float PivotPointMiddle
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginLeft_get();
+                float ret = NDalicPINVOKE.AnchorPointMiddle_get();
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// ParentOrigin constants. It's 1.0.
+        /// PivotPoint constants: 0.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginRight
+        public static Position PivotPointTopLeft
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginRight_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>
-        /// ParentOrigin constants. It's 0.5.
+        /// PivotPoint constants: 0.5, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float ParentOriginMiddle
+        public static Position PivotPointTopCenter
         {
             get
             {
-                float ret = NDalicPINVOKE.ParentOriginMiddle_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>
-        /// ParentOrigin constants: 0.0, 0.0, 0.5.
+        /// PivotPoint constants: 1.0, 0.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopLeft
+        public static Position PivotPointTopRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopLeft_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;
@@ -507,14 +416,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 0.0, 0.5.
+        /// PivotPoint constants: 0.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopCenter
+        public static Position PivotPointCenterLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopCenter_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;
@@ -522,14 +431,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.0, 0.5.
+        /// PivotPoint constants: 0.5, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginTopRight
+        public static Position PivotPointCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginTopRight_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;
@@ -537,14 +446,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5.
+        /// PivotPoint constants: 1.0, 0.5, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterLeft
+        public static Position PivotPointCenterRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterLeft_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;
@@ -552,14 +461,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0, 0.5, 0.5
+        /// PivotPoint constants: 0.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenter
+        public static Position PivotPointBottomLeft
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenter_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;
@@ -567,14 +476,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 0.5, 0.5.
+        /// PivotPoint constants: 0.5, 1.0, 0.5
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginCenterRight
+        public static Position PivotPointBottomCenter
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginCenterRight_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;
@@ -582,14 +491,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.0f, 1.0f, 0.5f.
+        /// PivotPoint constants: 1.0, 1.0, 0.5.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomLeft
+        public static Position PivotPointBottomRight
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomLeft_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;
@@ -597,14 +506,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 0.5, 1.0, 0.5.
+        /// Constant ( 1.0f, 1.0f, 1.0f ).
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomCenter
+        public static Position One
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomCenter_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;
@@ -612,14 +521,14 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// ParentOrigin constants: 1.0, 1.0, 0.5.
+        /// Constant ( 0.0f, 0.0f, 0.0f ).
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position ParentOriginBottomRight
+        public static Position Zero
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.ParentOriginBottomRight_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;
@@ -627,129 +536,122 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointTop
+        public float X
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_X_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointTop_get();
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointBottom
+        public float Y
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointBottom_get();
+                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0.
+        /// The z component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointLeft
+        public float Z
         {
+            set
+            {
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            }
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointLeft_get();
+                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
                 if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
                 return ret;
             }
         }
 
-        /// <summary>
-        /// PivotPoint constants: 1.0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointRight
+        internal static Position XAxis
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointRight_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>
-        /// PivotPoint constants: 0.0.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static float PivotPointMiddle
+        internal static Position YAxis
         {
             get
             {
-                float ret = NDalicPINVOKE.AnchorPointMiddle_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>
-        /// PivotPoint constants: 0.0, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopLeft
+        internal static Position ZAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopLeft_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>
-        /// PivotPoint constants: 0.5, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopCenter
+        internal static Position NegativeXAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopCenter_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>
-        /// PivotPoint constants: 1.0, 0.0, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointTopRight
+        internal static Position NegativeYAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointTopRight_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>
-        /// PivotPoint constants: 0.0, 0.5, 0.5.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Position PivotPointCenterLeft
+        internal static Position NegativeZAxis
         {
             get
             {
-                global::System.IntPtr cPtr = NDalicPINVOKE.AnchorPointCenterLeft_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;
@@ -757,192 +659,297 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 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 PivotPointCenter
+        public float this[uint index]
         {
             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;
+                return ValueOfIndex(index);
             }
         }
 
+
         /// <summary>
-        /// PivotPoint constants: 1.0, 0.5, 0.5.
+        /// 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 PivotPointCenterRight
+        public static Position operator +(Position arg1, Position arg2)
         {
-            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;
-            }
+            return arg1.Add(arg2);
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.0, 1.0, 0.5.
+        /// 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 Position PivotPointBottomLeft
+        public static Position operator -(Position arg1, Position 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;
-            }
+            return arg1.Subtract(arg2);
         }
 
         /// <summary>
-        /// PivotPoint constants: 0.5, 1.0, 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 Position PivotPointBottomCenter
+        public static Position operator -(Position arg1)
         {
-            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;
-            }
+            return arg1.Subtract();
         }
 
         /// <summary>
-        /// PivotPoint constants: 1.0, 1.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 PivotPointBottomRight
+        public static Position operator *(Position arg1, Position 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;
-            }
+            return arg1.Multiply(arg2);
         }
 
         /// <summary>
-        /// Constant ( 1.0f, 1.0f, 1.0f ).
+        /// 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 One
+        public static Position operator *(Position arg1, float 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;
-            }
+            return arg1.Multiply(arg2);
         }
 
-        internal static Position XAxis
+        /// <summary>
+        /// 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 operator /(Position arg1, Position arg2)
         {
-            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;
-            }
+            return arg1.Divide(arg2);
         }
 
-        internal static Position YAxis
+        /// <summary>
+        /// 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 operator /(Position arg1, float arg2)
         {
-            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;
-            }
+            return arg1.Divide(arg2);
         }
 
-        internal static Position ZAxis
+        /// <summary>
+        /// Converts a position instance to a Vector3 instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Vector3(Position Position)
         {
-            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;
-            }
+            return new Vector3(Position.X, Position.Y, Position.Z);
         }
 
-        internal static Position NegativeXAxis
+        /// <summary>
+        /// Converts a Vector3 instance to a position instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static implicit operator Position(Vector3 vec)
         {
-            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;
-            }
+            return new Position(vec.X, vec.Y, vec.Z);
         }
 
-        internal static Position NegativeYAxis
+        /// <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)
         {
-            get
+            Position position = obj as Position;
+            bool equal = false;
+            if (X == position?.X && Y == position?.Y && Z == position?.Z)
             {
-                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;
+                equal = true;
             }
+            return equal;
         }
 
-        internal static Position NegativeZAxis
+        /// <summary>
+        /// Gets the the hash code of this Position.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public override int GetHashCode()
         {
-            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;
-            }
+            return base.GetHashCode();
         }
 
         /// <summary>
-        /// Constant ( 0.0f, 0.0f, 0.0f ).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public static Position 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();
-                Position ret = (cPtr == global::System.IntPtr.Zero) ? null : new Position(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.");
+            }
+
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
             }
         }
 
         /// <summary>
-        /// Converts a position instance to a Vector3 instance.
+        /// 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 static implicit operator Vector3(Position Position)
+        public bool EqualTo(Position rhs)
         {
-            return new Vector3(Position.X, Position.Y, Position.Z);
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Position.getCPtr(rhs));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Converts a Vector3 instance to a position instance.
+        /// 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 implicit operator Position(Vector3 vec)
+        public bool NotEqualTo(Position rhs)
         {
-            return new Position(vec.X, vec.Y, vec.Z);
+            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)
+        {
+            Position ret = new Position(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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_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)
+        {
+            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
     }
index f31cfbd..f208c91 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -15,6 +15,7 @@
  *
  */
 using System;
+using System.Globalization;
 using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
@@ -27,31 +28,52 @@ namespace Tizen.NUI
     [Tizen.NUI.Binding.TypeConverter(typeof(Position2DTypeConverter))]
     public class Position2D : global::System.IDisposable
     {
-        static public Position2D ConvertFromString(System.String value)
-        {
-            if (value != null)
-            {
-                string[] parts = value.Split(',');
-                if (parts.Length == 2)
-                {
-                    return new Position2D(int.Parse(parts[0].Trim()), int.Parse(parts[1].Trim()));
-                }
-            }
+        /// <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;
 
-            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
+        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)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        public static implicit operator Position2D(System.String value)
+        /// <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)
         {
-            return ConvertFromString(value);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         /// <summary>
-        /// swigCMemOwn
+        /// The constructor.
         /// </summary>
+        /// <param name="x">x component</param>
+        /// <param name="y">y component</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
+        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();
+        }
 
         internal Position2D(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -59,19 +81,12 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Position2D obj)
+        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();
         }
 
-        //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>
@@ -85,62 +100,112 @@ namespace Tizen.NUI
             }
         }
 
+        internal delegate void Position2DChangedCallback(int x, int y);
+
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                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;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Y
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector2_Y_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+
+                callback?.Invoke(X, Y);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The const array subscript operator overload. Should be 0, or 1.
         /// </summary>
-        /// <param name="type">The dispose type.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float this[uint index]
         {
-            if (disposed)
+            get
             {
-                return;
+                return ValueOfIndex(index);
             }
+        }
 
-            if (type == DisposeTypes.Explicit)
+        /// <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)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                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));
+                }
             }
 
-            //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.
+            throw new InvalidOperationException($"Cannot convert \"{value}\" into {typeof(Position2D)}");
+        }
 
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <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())
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector2(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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);
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -227,62 +292,124 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The const array subscript operator overload. Should be 0, or 1.
+        /// Determines whether the specified object is equal to the current object.
         /// </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]
+        /// <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)
         {
-            get
+            Position2D position2D = obj as Position2D;
+            bool equal = false;
+            if (X == position2D?.X && Y == position2D?.Y)
             {
-                return ValueOfIndex(index);
+                equal = true;
             }
+            return equal;
         }
 
-        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Gets the the hash code of this Position2D.
+        /// </summary>
+        /// <returns>The Hash Code.</returns>
+        /// <since_tizen> 5 </since_tizen>
+        public override int GetHashCode()
         {
-            Position2D ret = new Position2D(cPtr, false);
+            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)
+        {
+            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Position2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// 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 Position2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public bool NotEqualTo(Position2D rhs)
         {
+            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Position2D.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Converts a Position2D instance to a Vector2 instance.
         /// </summary>
-        /// <param name="x">x component</param>
-        /// <param name="y">y component</param>
+        /// <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 Position2D(int x, int y) : this(NDalicPINVOKE.new_Vector2__SWIG_1((float)x, (float)y), true)
+        public static implicit operator Vector2(Position2D position2d)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new Vector2((float)position2d.X, (float)position2d.Y);
         }
 
-        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)
+        /// <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)
         {
-            callback = cb;
+            return new Position2D((int)vec.X, (int)vec.Y);
+        }
+
+        internal static Position2D GetPosition2DFromPtr(global::System.IntPtr cPtr)
+        {
+            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)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </summary>
-        /// <param name="position">Position to create this vector from</param>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 3 </since_tizen>
-        public Position2D(Position position) : this(NDalicPINVOKE.new_Vector2__SWIG_3(Position.getCPtr(position)), 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_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
         private Position2D Add(Position2D rhs)
@@ -336,48 +463,6 @@ 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);
@@ -385,70 +470,6 @@ 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 dd9c2de..11399fc 100755 (executable)
@@ -25,120 +25,21 @@ 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;
 
-        ~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_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;
-            }
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        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;
-            }
-        }
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
         /// This constructor creates a property instance.
@@ -188,18 +89,18 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Animatable _object
+        internal Property(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            set
-            {
-                NDalicPINVOKE.Property__object_set(swigCPtr, Animatable.getCPtr(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
+        ~Property()
+        {
+            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);
             }
         }
 
@@ -241,57 +142,51 @@ namespace Tizen.NUI
             }
         }
 
-    }
-
-    /// <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)
+        internal static int INVALID_INDEX
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_INDEX_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyArray obj)
+        internal static int INVALID_KEY
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            get
+            {
+                int ret = NDalicPINVOKE.Property_INVALID_KEY_get();
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
         }
 
-        //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;
+        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>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        ~PropertyArray()
+        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;
             }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
         public void Dispose()
         {
             //Throw excpetion if Dispose() is called in separate thread.
@@ -311,10 +206,11 @@ namespace Tizen.NUI
             }
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
+        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;
+        }
+
         protected virtual void Dispose(DisposeTypes type)
         {
             if (disposed)
@@ -338,26 +234,37 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
+                    NDalicPINVOKE.delete_Property(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>
-        /// The operator to access an element.
+        /// swigCMemOwn
         /// </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);
-            }
-        }
+        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.
@@ -373,24 +280,57 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <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()
+        internal PropertyArray(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            uint ret = NDalicPINVOKE.Property_Array_Size(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Retrieves the number of elements in the array.
+        /// Dispose.
         /// </summary>
-        /// <returns>The number of elements in the array.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint Count()
+        ~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()
         {
             uint ret = NDalicPINVOKE.Property_Array_Count(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
@@ -502,64 +442,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
-    {
-        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>
@@ -582,6 +464,11 @@ 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>
@@ -593,7 +480,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -609,7 +496,7 @@ namespace Tizen.NUI
                 if (swigCMemOwn)
                 {
                     swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Key(swigCPtr);
+                    NDalicPINVOKE.delete_Property_Array(swigCPtr);
                 }
                 swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
@@ -617,6 +504,98 @@ 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>
@@ -674,23 +653,26 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </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)
+        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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
@@ -771,58 +753,94 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// The type of key.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum KeyType
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyKey obj)
         {
-            /// <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
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-    }
-
-    /// <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>
-        /// swigCMemOwn
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
-
-        internal PropertyMap(global::System.IntPtr cPtr, bool cMemoryOwn)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+            if (disposed)
+            {
+                return;
+            }
 
-        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;
+            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;
         }
 
-        //A Flag to check who called Dispose(). (By User or DisposeQueue)
-        private bool isDisposeQueued = false;
+    }
+
+    /// <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
+        /// </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 PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The copy constructor.
+        /// </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);
+        }
+
         /// <summary>
         /// Dispose.
         /// </summary>
@@ -837,6 +855,21 @@ 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>
@@ -860,6 +893,214 @@ 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>
@@ -870,7 +1111,7 @@ namespace Tizen.NUI
                 return;
             }
 
-            if(type == DisposeTypes.Explicit)
+            if (type == DisposeTypes.Explicit)
             {
                 //Called by User
                 //Release your own managed resources here.
@@ -892,272 +1133,227 @@ 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>
-        /// 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 />
+        /// swigCMemOwn
         /// </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]
+        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.
+        /// </summary>
+        /// <param name="vectorValue">Size2D values.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyValue(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
         {
-            get
-            {
-                return ValueOfIndex(key);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// 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 />
+        /// Creates a Position2D property value.
         /// </summary>
-        /// <param name="key">The key whose value to access.</param>
-        /// <returns>A value for the element with the specified key.</returns>
+        /// <param name="vectorValue">Position2D values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue this[int key]
+        public PropertyValue(Position2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Position2D.getCPtr(vectorValue)), true)
         {
-            get
-            {
-                return ValueOfIndex(key);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The constructor.
+        /// Creates a Position property value.
         /// </summary>
+        /// <param name="vectorValue">Position values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap() : this(NDalicPINVOKE.new_Property_Map__SWIG_0(), true)
+        public PropertyValue(Position vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Position.getCPtr(vectorValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// The copy constructor.
+        /// Creates a Color property value.
         /// </summary>
-        /// <param name="other">The map to copy from.</param>
+        /// <param name="vectorValue">Color values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap(PropertyMap other) : this(NDalicPINVOKE.new_Property_Map__SWIG_1(PropertyMap.getCPtr(other)), true)
+        public PropertyValue(Color vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_6(Color.getCPtr(vectorValue)), true)
         {
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-
         /// <summary>
-        /// Retrieves the number of elements in the map.
+        /// The default constructor.
         /// </summary>
-        /// <returns>The number of elements in the map.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint Count()
+        public PropertyValue() : this(NDalicPINVOKE.new_Property_Value__SWIG_0(), true)
         {
-            uint ret = NDalicPINVOKE.Property_Map_Count(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
         /// <summary>
-        /// Returns whether the map is empty.
+        /// Creates a boolean property value.
         /// </summary>
-        /// <returns>Returns true if empty, false otherwise.</returns>
+        /// <param name="boolValue">A boolean value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public bool Empty()
+        public PropertyValue(bool boolValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_1(boolValue), true)
         {
-            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 />
+        /// Creates an integer property value.
         /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
+        /// <param name="integerValue">An integer value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Insert(string key, PropertyValue value)
+        public PropertyValue(int integerValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_2(integerValue), true)
         {
-            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 />
+        /// Creates a float property value.
         /// </summary>
-        /// <param name="key">The key to insert.</param>
-        /// <param name="value">The value to insert.</param>
+        /// <param name="floatValue">A floating-point value.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Insert(int key, PropertyValue value)
+        public PropertyValue(float floatValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_3(floatValue), true)
         {
-            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 />
+        /// Creates a Vector2 property value.
         /// </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>
+        /// <param name="vectorValue">A vector of 2 floating-point values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Add(string key, PropertyValue value)
+        public PropertyValue(Vector2 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Vector2.getCPtr(vectorValue)), true)
         {
-            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 />
+        /// Creates a Vector3 property value.
         /// </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>
+        /// <param name="vectorValue">A vector of 3 floating-point values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Add(int key, PropertyValue value)
+        public PropertyValue(Vector3 vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_5(Vector3.getCPtr(vectorValue)), true)
         {
-            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 />
+        /// Creates a Vector4 property value.
         /// </summary>
-        /// <param name="keyValue">The keyvalue to insert.</param>
-        /// <returns>Returns a reference to this object.</returns>
-        public PropertyMap Add(KeyValue keyValue)
+        /// <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)
         {
-            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.
+        /// Creates a Rectangle property value.
         /// </summary>
-        /// <param name="position">The specified position.</param>
-        /// <returns>A reference to the value at the specified position.</returns>
+        /// <param name="vectorValue">Rectangle values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue GetValue(uint position)
+        public PropertyValue(Rectangle vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_9(Rectangle.getCPtr(vectorValue)), true)
         {
-            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.
+        /// Creates a Rotation property value.
         /// </summary>
-        /// <param name="position">The specified position.</param>
-        /// <returns>A copy of the key at the specified position.</returns>
+        /// <param name="quaternion">Rotation values.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyKey GetKeyAt(uint position)
+        public PropertyValue(Rotation quaternion) : this(NDalicPINVOKE.new_Property_Value__SWIG_11(Rotation.getCPtr(quaternion)), true)
         {
-            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.
+        /// Creates a string property value.
         /// </summary>
-        /// <param name="key">The key to find.</param>
-        /// <returns>The value if it exists, an empty object otherwise.</returns>
+        /// <param name="stringValue">A string.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue Find(int key)
+        public PropertyValue(string stringValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_12(stringValue), true)
         {
-            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.
+        /// Creates an array property value.
         /// </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>
+        /// <param name="arrayValue">An array.</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyValue Find(int indexKey, string stringKey)
+        public PropertyValue(PropertyArray arrayValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_14(PropertyArray.getCPtr(arrayValue)), true)
         {
-            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.
+        /// Creates a map property value.
         /// </summary>
+        /// <param name="mapValue">An array.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Clear()
+        public PropertyValue(PropertyMap mapValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_15(PropertyMap.getCPtr(mapValue)), true)
         {
-            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 />
+        /// Creates a Extents value.
         /// </summary>
-        /// <param name="from">The map to merge from.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public void Merge(PropertyMap from)
+        /// <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)
         {
-            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.
+        /// Creates a PropertyType value.
         /// </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)
+        /// <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)
         {
-            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.
+        /// Creates a PropertyValue value.
         /// </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)
+        /// <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)
         {
-            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>
-        /// swigCMemOwn
+        /// Creates a Size property value.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected bool swigCMemOwn;
+        /// <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();
+        }
 
         internal PropertyValue(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
@@ -1165,87 +1361,32 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyValue obj)
+        internal PropertyValue(Matrix3 matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_7(Matrix3.getCPtr(matrixValue)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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()
+        internal PropertyValue(Matrix matrixValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_8(Matrix.getCPtr(matrixValue)), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        internal PropertyValue(AngleAxis angleAxis) : this(NDalicPINVOKE.new_Property_Value__SWIG_10(AngleAxis.getCPtr(angleAxis)), 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 (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~PropertyValue()
         {
-            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(!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Property_Value(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
 
@@ -1346,52 +1487,26 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a Size2D property value.
-        /// </summary>
-        /// <param name="vectorValue">Size2D values.</param>
-        /// <since_tizen> 3 </since_tizen>
-        public PropertyValue(Size2D vectorValue) : this(NDalicPINVOKE.new_Property_Value__SWIG_4(Size2D.getCPtr(vectorValue)), true)
-        {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
-
-        /// <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.
+        /// Dispose.
         /// </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 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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
 
@@ -1459,170 +1574,6 @@ 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>
@@ -1770,27 +1721,6 @@ 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>
@@ -1855,6 +1785,66 @@ 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>
@@ -1862,10 +1852,6 @@ namespace Tizen.NUI
     /// </summary>
     public class KeyValue
     {
-        private string _key = null;
-        private object _originalValue = null;
-        private object _originalKey = null;
-
         /// <summary>
         /// Int key.
         /// </summary>
@@ -1881,6 +1867,10 @@ 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 526fded..93a1d77 100755 (executable)
@@ -26,11 +26,49 @@ 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;
@@ -72,43 +110,6 @@ 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 6c94216..bd225cc 100755 (executable)
@@ -25,52 +25,6 @@ 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>
-        /// 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);
-        }
-
         /// <summary>
         /// Create a property condition instance.
         /// </summary>
@@ -80,6 +34,11 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal PropertyCondition(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyCondition_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Retrieves the arguments that this condition uses.
         /// </summary>
@@ -185,6 +144,47 @@ 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 86209bf..a8f2386 100755 (executable)
@@ -30,81 +30,34 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        private DaliEventHandler<object, NotifyEventArgs> _propertyNotificationNotifyEventHandler;
+        private NotifyEventCallbackDelegate _propertyNotificationNotifyEventCallbackDelegate;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(PropertyNotification obj)
+        /// <summary>
+        /// Create a instance of PropertyNotification.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyNotification() : this(NDalicPINVOKE.new_PropertyNotification__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// Create a instance of PropertyNotification.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public PropertyNotification(PropertyNotification handle) : this(NDalicPINVOKE.new_PropertyNotification__SWIG_1(PropertyNotification.getCPtr(handle)), 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_PropertyNotification(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        ///<summary>
-        /// Event arguments that passed via Notify signal
-        ///</summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class NotifyEventArgs : EventArgs
+        internal PropertyNotification(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.PropertyNotification_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            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;
-                }
-            }
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [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
@@ -142,17 +95,32 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for PropertyNotification NotifySignal
-        private void OnPropertyNotificationNotify(IntPtr propertyNotification)
+        /// <summary>
+        /// Enumeration for description of how to check condition.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum NotifyMode
         {
-            NotifyEventArgs e = new NotifyEventArgs();
-            e.PropertyNotification = GetPropertyNotificationFromPtr(propertyNotification);
-
-            if (_propertyNotificationNotifyEventHandler != null)
-            {
-                //here we send all data to user event handlers
-                _propertyNotificationNotifyEventHandler(this, e);
-            }
+            /// <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
         }
 
         /// <summary>
@@ -170,15 +138,6 @@ 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>
@@ -192,15 +151,6 @@ 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>
@@ -295,32 +245,83 @@ 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>
-        /// Enumeration for description of how to check condition.
+        /// 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_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 enum NotifyMode
+        public class NotifyEventArgs : EventArgs
         {
-            /// <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>
+            private PropertyNotification _propertyNotification;
+
+            ///<summary>
+            /// PropertyNotification - is the PropertyNotification handle that has the notification properties.
+            ///</summary>
             /// <since_tizen> 3 </since_tizen>
-            NotifyOnChanged
+            public PropertyNotification PropertyNotification
+            {
+                get
+                {
+                    return _propertyNotification;
+                }
+                set
+                {
+                    _propertyNotification = value;
+                }
+            }
         }
 
     }
index 00ed3ce..ebecdf3 100755 (executable)
@@ -24,31 +24,36 @@ 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;
 
-        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;
-        }
+        private global::System.Runtime.InteropServices.HandleRef 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.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        protected bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose
@@ -87,43 +92,6 @@ 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>
@@ -186,13 +154,46 @@ 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>
-        /// The constructor.
+        /// Dispose
         /// </summary>
+        /// <param name="type">The dispose type.</param>
         /// <since_tizen> 4 </since_tizen>
-        public PropertyNotifySignal() : this(NDalicPINVOKE.new_PropertyNotifySignal(), 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_PropertyNotifySignal(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
         }
 
     }
index 1e7ce2c..e24e3e1 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;
 
-        internal Radian(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Radian obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// 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>
-        protected bool disposed = false;
+        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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -56,7 +81,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Radian()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -64,6 +89,25 @@ 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>
@@ -87,6 +131,23 @@ 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>
@@ -119,68 +180,5 @@ 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 d02a394..db2bc69 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// The Rectangle class.
     /// </summary>
@@ -27,31 +26,50 @@ 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;
 
-        internal Rectangle(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
-        {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
-        }
+        private global::System.Runtime.InteropServices.HandleRef 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.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -59,7 +77,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~Rectangle()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -67,215 +85,279 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x position of the rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int X
         {
-            //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);
+                x = (value);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                return x;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Y position of the rectangle.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public int Y
         {
-            if (disposed)
+            set
             {
-                return;
+                y = (value);
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                return y;
             }
+        }
 
-            //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)
+        /// <summary>
+        /// The width of the rectangle.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int Width
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                width = (value);
+            }
+            get
+            {
+                return width;
             }
-            disposed = true;
         }
 
         /// <summary>
-        /// THe Equality operator.
+        /// The height 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 Height
         {
-            // If both are null, or both are same instance, return true.
-            if (System.Object.ReferenceEquals(a, b))
+            set
             {
-                return true;
+                height = (value);
             }
-
-            // If one is null, but not both, return false.
-            if (((object)a == null) || ((object)b == null))
+            get
             {
-                return false;
+                return height;
             }
-
-            // Return true if the fields match:
-            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
-        /// <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)
+        private int x
         {
-            if(o == null)
+            set
             {
-                return false;
+                NDalicPINVOKE.Rectangle_x_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            if(!(o is Rectangle))
+            get
             {
-                return false;
+                int ret = NDalicPINVOKE.Rectangle_x_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            Rectangle r = (Rectangle)o;
+        }
 
-            // Return true if the fields match:
-            return X == r.X && Y == r.Y && Width == r.Width && Height == r.Height;
+        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;
+            }
         }
 
-        /// <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()
+        private int y
         {
-            return base.GetHashCode();
+            set
+            {
+                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;
+            }
         }
 
-        /// <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)
+        private int right
         {
-            return !(a == b);
+            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;
+            }
         }
 
-        /// <summary>
-        /// The x position of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int X
+        private int width
         {
             set
             {
-                x = ( value );
+                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return x;
+                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
+            }
+        }
+
+        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;
             }
+        }
 
-        /// <summary>
-        /// The Y position of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Y
+        private int height
         {
             set
             {
-                y = ( value );
+                NDalicPINVOKE.Rectangle_height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return y;
+                int ret = NDalicPINVOKE.Rectangle_height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
-        /// <summary>
-        /// The width of the rectangle.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int Width
+        private int top
         {
             set
             {
-                width = ( value );
+                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
             get
             {
-                return width;
+                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <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
+            // If both are null, or both are same instance, return true.
+            if (System.Object.ReferenceEquals(a, b))
             {
-                height = ( value );
+                return true;
             }
-            get
+
+            // If one is null, but not both, return false.
+            if (((object)a == null) || ((object)b == null))
             {
-                return height;
+                return false;
             }
+
+            // Return true if the fields match:
+            return a.X == b.X && a.Y == b.Y && a.Width == b.Width && a.Height == b.Height;
         }
 
         /// <summary>
-        /// The constructor.
+        /// 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 Rectangle() : this(NDalicPINVOKE.new_Rectangle__SWIG_0(), true)
+        public static bool operator !=(Rectangle a, Rectangle b)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return !(a == b);
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </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)
+        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>
+        /// 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)
+        {
+            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;
+        }
+
+        /// <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()
+        {
+            return base.GetHashCode();
         }
 
         /// <summary>
@@ -390,126 +472,43 @@ namespace Tizen.NUI
             return ret;
         }
 
-        private int x
-        {
-            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;
-            }
-        }
-
-        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;
-            }
-        }
-
-        private int y
-        {
-            set
-            {
-                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;
-            }
-        }
-
-        private int right
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Rectangle obj)
         {
-            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 (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        private int width
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Rectangle_width_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                int ret = NDalicPINVOKE.Rectangle_width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        private int bottom
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                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;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-        }
 
-        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;
-            }
-        }
+            //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 top
-        {
-            set
-            {
-                NDalicPINVOKE.Rectangle_top_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (swigCPtr.Handle != global::System.IntPtr.Zero)
             {
-                int ret = NDalicPINVOKE.Rectangle_top_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Rectangle(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
-
     }
-
 }
\ No newline at end of file
index 69d67d3..a93d495 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// RelativeVector2 is a two-dimensional vector.
     /// Both values (x and y) should be between [0, 1].
@@ -28,31 +27,68 @@ 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;
 
-        internal RelativeVector2(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector2 obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector2(RelativeVector3 relativeVector3) : this(NDalicPINVOKE.new_Vector2__SWIG_3(RelativeVector3.getCPtr(relativeVector3)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </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);
+        }
 
         /// <summary>
         /// Dispose.
@@ -60,7 +96,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector2()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -68,62 +104,47 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //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.Vector2_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Y
         {
-            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_Y_set(swigCPtr, ValueCheck(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_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
-            disposed = true;
         }
 
+        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;
+        }
 
         /// <summary>
         /// The addition operator.
@@ -203,119 +224,57 @@ 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 float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector2(RelativeVector2 relativeVector2)
         {
-            RelativeVector2 ret = new RelativeVector2(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector2(relativeVector2.X, relativeVector2.Y);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector2() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public static implicit operator RelativeVector2(Vector2 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </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)
+        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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <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();
-        }
-
-
-        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)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -335,6 +294,16 @@ 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>
@@ -360,102 +329,138 @@ namespace Tizen.NUI
             return ret;
         }
 
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
-        {
-            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)
+        internal static RelativeVector2 GetRelativeVector2FromPtr(global::System.IntPtr cPtr)
         {
-            return new RelativeVector2(ValueCheck(vec.X), ValueCheck(vec.Y));
+            RelativeVector2 ret = new RelativeVector2(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         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 9b674ff..5176bb5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -20,7 +20,6 @@ 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].
@@ -29,31 +28,63 @@ 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;
 
-        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector3(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector3__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </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();
+        }
 
         /// <summary>
         /// Dispose.
@@ -61,7 +92,7 @@ namespace Tizen.NUI
         /// <since_tizen> 3 </since_tizen>
         ~RelativeVector3()
         {
-            if(!isDisposeQueued)
+            if (!isDisposeQueued)
             {
                 isDisposeQueued = true;
                 DisposeQueue.Instance.Add(this);
@@ -69,63 +100,62 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //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_X_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The y component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Y
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector3_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.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The z component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Z
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
+                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;
             }
-            disposed = true;
         }
 
-
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -204,120 +234,57 @@ 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 float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector3(RelativeVector3 relativeVector3)
         {
-            RelativeVector3 ret = new RelativeVector3(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector3() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        public static implicit operator RelativeVector3(Vector3 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </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)
+        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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1 or 2.
         /// </summary>
-        /// <param name="relativeVector4">The RelativeVector4 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <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();
-        }
-
-
-        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)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector3_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -337,6 +304,16 @@ 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>
@@ -362,128 +339,157 @@ namespace Tizen.NUI
             return ret;
         }
 
-
-        /// <summary>
-        /// The x component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
+        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
         {
-            set
+            if (relativeVector3.X < 0.0f)
             {
-                NDalicPINVOKE.Vector3_X_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                relativeVector3.X = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            get
+            else if (relativeVector3.X > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                relativeVector3.X = 1.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-        }
-
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
-        {
-            set
+            if (relativeVector3.Y < 0.0f)
             {
-                NDalicPINVOKE.Vector3_Y_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                relativeVector3.Y = 0.0f;
+                NUILog.Error("The value of Result is invalid! Should be between [0, 1].");
             }
-            get
+            else if (relativeVector3.Y > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_Y_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                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;
         }
 
-        /// <summary>
-        /// The z component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Z
+        internal static float ValueCheck(float value)
         {
-            set
+            if (value < 0.0f)
             {
-                NDalicPINVOKE.Vector3_Z_set(swigCPtr, ValueCheck(value));
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                value = 0.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
-            get
+            else if (value > 1.0f)
             {
-                float ret = NDalicPINVOKE.Vector3_Z_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                value = 1.0f;
+                NUILog.Error("The value of Parameters is invalid! Should be between [0, 1].");
             }
+            return value;
         }
 
         /// <summary>
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator Vector3(RelativeVector3 relativeVector3)
+        internal static RelativeVector3 GetRelativeVector3FromPtr(global::System.IntPtr cPtr)
         {
-            return new Vector3(relativeVector3.X, relativeVector3.Y, relativeVector3.Z);
+            RelativeVector3 ret = new RelativeVector3(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        /// <summary>
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static implicit operator RelativeVector3(Vector3 vec)
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector3 obj)
         {
-            return new RelativeVector3(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z));
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        internal static RelativeVector3 ValueCheck(RelativeVector3 relativeVector3)
+        internal RelativeVector3(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            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)
-            {
-                relativeVector3.Y = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
-            }
-            else if(relativeVector3.Y > 1.0f)
+            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)
             {
-                relativeVector3.Y = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                return;
             }
-            if(relativeVector3.Z < 0.0f)
+
+            if(type == DisposeTypes.Explicit)
             {
-                relativeVector3.Z = 0.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
             }
-            else if(relativeVector3.Z > 1.0f)
+
+            //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)
             {
-                relativeVector3.Z = 1.0f;
-                NUILog.Error( "The value of Result is invalid! Should be between [0, 1].");
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector3(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
-            return relativeVector3;
+            disposed = true;
         }
 
-        internal static float ValueCheck(float value)
+        private RelativeVector3 Add(RelativeVector3 rhs)
         {
-            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;
+            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;
         }
     }
 
index ea88180..8e22332 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// RelativeVector4 is a four-dimensional vector.
     /// All values (x, y, and z) should be between [0, 1].
@@ -28,31 +27,64 @@ 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;
 
-        internal RelativeVector4(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(RelativeVector4 obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// The constructor.
         /// </summary>
+        /// <param name="relativeVector2">The RelativeVector2 to create this vector from.</param>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public RelativeVector4(RelativeVector2 relativeVector2) : this(NDalicPINVOKE.new_Vector4__SWIG_3(RelativeVector2.getCPtr(relativeVector2)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </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();
+        }
 
         /// <summary>
         /// Dispose.
@@ -68,63 +100,81 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The x component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public float X
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
+                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;
+            }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector4_Y_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector4_Y_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The z component.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Z
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector4_Z_set(swigCPtr, ValueCheck(value));
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if(type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                float ret = NDalicPINVOKE.Vector4_Z_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.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The w component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float W
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector4(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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;
             }
-            disposed = true;
         }
 
-
         /// <summary>
         /// The addition operator.
         /// </summary>
@@ -203,120 +253,57 @@ 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 float this[uint index]
-        {
-            get
-            {
-                return ValueOfIndex(index);
-            }
-        }
-
-        /// <summary>
-        /// </summary>
-        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
+        public static implicit operator Vector4(RelativeVector4 relativeVector4)
         {
-            RelativeVector4 ret = new RelativeVector4(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return new Vector4(relativeVector4.X, relativeVector4.Y, relativeVector4.Z, relativeVector4.W);
         }
 
-
         /// <summary>
-        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public RelativeVector4() : this(NDalicPINVOKE.new_Vector4__SWIG_0(), true)
+        public static implicit operator RelativeVector4(Vector4 vec)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
         }
 
         /// <summary>
-        /// The constructor.
+        /// Dispose.
         /// </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)
+        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.");
+            }
 
-        /// <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();
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
         /// <summary>
-        /// The constructor.
+        /// The const array subscript operator overload. Should be 0, 1 3 or 3.
         /// </summary>
-        /// <param name="relativeVector3">The RelativeVector3 to create this vector from.</param>
+        /// <param name="index">The subscript index.</param>
+        /// <returns>The float at the given index.</returns>
         /// <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();
-        }
-
-        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)
+        public float this[uint index]
         {
-            float ret = NDalicPINVOKE.Vector4_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
         /// <summary>
@@ -336,6 +323,16 @@ 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>
@@ -361,159 +358,168 @@ namespace Tizen.NUI
             return ret;
         }
 
-
         /// <summary>
-        /// The x component.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float X
-        {
-            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)
+        internal static RelativeVector4 GetRelativeVector4FromPtr(global::System.IntPtr cPtr)
         {
-            return new RelativeVector4(ValueCheck(vec.X), ValueCheck(vec.Y), ValueCheck(vec.Z), ValueCheck(vec.W));
+            RelativeVector4 ret = new RelativeVector4(cPtr, false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         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 ecdd30b..af788c0 100755 (executable)
@@ -25,39 +25,30 @@ 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);
@@ -88,6 +79,29 @@ 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>
@@ -120,19 +134,5 @@ 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 e345ddd..446553b 100755 (executable)
@@ -27,401 +27,126 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Renderer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Renderer_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <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)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-        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>
-        /// Dispose.
+        /// Gets and Sets DepthIndex property.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public int DepthIndex
         {
-            if (disposed)
+            get
             {
-                return;
+                int temp = 0;
+                Tizen.NUI.Object.GetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX).Get(out temp);
+                return temp;
             }
-
-            if (type == DisposeTypes.Explicit)
+            set
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                Tizen.NUI.Object.SetProperty(swigCPtr, Renderer.Property.DEPTH_INDEX, new Tizen.NUI.PropertyValue(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 (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// Gets and Sets FaceCullingMode.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int FaceCullingMode
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Renderer(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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));
             }
-
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// Enumeration for instances of properties belonging to the Renderer class.
+        /// Gets and Sets BlendMode.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class Property
+        public int BlendMode
         {
-            /// <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();
-
+            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>
-        /// Create an instance of Renderer.
+        /// Gets and Sets BlendEquationRgb.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public Renderer(Geometry geometry, Shader shader) : this(NDalicPINVOKE.Renderer_New(Geometry.getCPtr(geometry), Shader.getCPtr(shader)), true)
+        public int BlendEquationRgb
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-
+            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>
-        /// Sets the geometry to be used by this renderer.
+        /// Gets and Sets BlendEquationAlpha.
         /// </summary>
-        /// <param name="geometry">The geometry to be used by this renderer.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetGeometry(Geometry geometry)
+        public int BlendEquationAlpha
         {
-            NDalicPINVOKE.Renderer_SetGeometry(swigCPtr, Geometry.getCPtr(geometry));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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 the geometry used by this renderer.
+        /// Gets and Sets BlendFactorSrcRgb.
         /// </summary>
-        /// <returns>The geometry used by the renderer.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public Geometry GetGeometry()
+        public int BlendFactorSrcRgb
         {
-            //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;
+            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>
-        /// 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;
-        }
-
-        /// <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.
+        /// Gets and Sets BlendFactorDestRgb.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
         public int BlendFactorDestRgb
@@ -744,6 +469,278 @@ 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 50ec032..ac37b1a 100755 (executable)
@@ -19,7 +19,6 @@
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// The Rotation class.
     /// </summary>
@@ -27,100 +26,70 @@ 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;
 
-        internal Rotation(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(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>
         /// 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.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Rotation()
+        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// To make the Rotation instance be disposed.
+        /// The constructor from an axis and angle.
         /// </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 void Dispose()
+        public Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), 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 (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
-            }
-            else
-            {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
         /// Dispose.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        ~Rotation()
         {
-            if (disposed)
-            {
-                return;
-            }
-
-            if(type == DisposeTypes.Explicit)
+            if(!isDisposeQueued)
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
+        }
 
-            //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)
+        /// <summary>
+        /// (0.0f,0.0f,0.0f,1.0f).
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static Rotation IDENTITY
+        {
+            get
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Rotation(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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;
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -219,167 +188,140 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The default constructor.
+        /// 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>
-        public Rotation() : this(NDalicPINVOKE.new_Rotation__SWIG_0(), true)
+        public static float Dot(Rotation q1, Rotation q2)
         {
+            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// The constructor from an axis and angle.
+        /// The linear iterpolation (using a straight line between the two rotations).
         /// </summary>
-        /// <param name="angle">The angle around the axis.</param>
-        /// <param name="axis">The vector of the axis.</param>
+        /// <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 Rotation(Radian angle, Vector3 axis) : this(NDalicPINVOKE.new_Rotation__SWIG_1(Radian.getCPtr(angle), Vector3.getCPtr(axis)), true)
+        public static Rotation Lerp(Rotation q1, Rotation q2, float t)
         {
+            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>
-        /// (0.0f,0.0f,0.0f,1.0f).
+        /// 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 IDENTITY
+        public static Rotation Slerp(Rotation q1, Rotation q2, float progress)
         {
-            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;
-            }
+            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;
         }
 
         /// <summary>
-        /// Helper to check if this is an identity quaternion.
+        /// This version of slerp, used by squad, does not check for theta > 90.
         /// </summary>
-        /// <returns>True if this is identity quaternion.</returns>
+        /// <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 bool IsIdentity()
+        public static Rotation SlerpNoInvert(Rotation q1, Rotation q2, float t)
         {
-            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
+            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;
         }
 
         /// <summary>
-        /// Converts the quaternion to an axis or angle pair.
+        /// The spherical cubic interpolation.
         /// </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>
+        /// <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 bool GetAxisAngle(Vector3 axis, Radian angle)
-        {
-            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        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)
-        {
-            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)
+        public static Rotation Squad(Rotation start, Rotation end, Rotation ctrl1, Rotation ctrl2, float t)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SubtractAssign(swigCPtr, Rotation.getCPtr(other)), 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 Rotation MultiplyAssign(Rotation other)
+        /// <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)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_0(swigCPtr, Rotation.getCPtr(other)), false);
+            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private Rotation MultiplyAssign(float scale)
+        /// <summary>
+        /// To make the Rotation instance be disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_MultiplyAssign__SWIG_1(swigCPtr, scale), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
+            //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.");
+            }
 
-        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;
+            if (isDisposeQueued)
+            {
+                Dispose(DisposeTypes.Implicit);
+            }
+            else
+            {
+                Dispose(DisposeTypes.Explicit);
+                System.GC.SuppressFinalize(this);
+            }
         }
 
-        private bool EqualTo(Rotation rhs)
+        /// <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()
         {
-            bool ret = NDalicPINVOKE.Rotation_EqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            bool ret = NDalicPINVOKE.Rotation_IsIdentity(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        private bool NotEqualTo(Rotation rhs)
+        /// <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)
         {
-            bool ret = NDalicPINVOKE.Rotation_NotEqualTo(swigCPtr, Rotation.getCPtr(rhs));
+            bool ret = NDalicPINVOKE.Rotation_GetAxisAngle(swigCPtr, Vector3.getCPtr(axis), Radian.getCPtr(angle));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
@@ -474,96 +416,154 @@ 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>
-        /// Returns the dot product of two rotations.
+        /// Dispose.
         /// </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)
+        protected virtual void Dispose(DisposeTypes type)
         {
-            float ret = NDalicPINVOKE.Rotation_Dot(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+            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;
         }
 
-        /// <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)
+        private Rotation Subtract(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Lerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Subtract__SWIG_0(swigCPtr, Rotation.getCPtr(other)), 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).
-        /// </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)
+        private Rotation Multiply(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Slerp(Rotation.getCPtr(q1), Rotation.getCPtr(q2), progress), true);
+            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>
-        /// 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)
+        private Vector3 Multiply(Vector3 other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_SlerpNoInvert(Rotation.getCPtr(q1), Rotation.getCPtr(q2), t), true);
+            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>
-        /// 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)
+        private Rotation Divide(Rotation other)
         {
-            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Squad(Rotation.getCPtr(start), Rotation.getCPtr(end), Rotation.getCPtr(ctrl1), Rotation.getCPtr(ctrl2), t), true);
+            Rotation ret = new Rotation(NDalicPINVOKE.Rotation_Divide__SWIG_0(swigCPtr, Rotation.getCPtr(other)), true);
             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 Multiply(float scale)
         {
-            float ret = NDalicPINVOKE.Rotation_AngleBetween(Rotation.getCPtr(q1), Rotation.getCPtr(q2));
+            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;
+        }
+    }
 }
\ No newline at end of file
index f6e0d96..4b081c4 100755 (executable)
@@ -25,53 +25,6 @@ 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>
@@ -119,6 +72,51 @@ 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 225d071..708c655 100755 (executable)
@@ -26,9 +26,13 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal ScrollViewEffect(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.ScrollViewEffect_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <summary>
+        /// The constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public ScrollViewEffect() : this(NDalicPINVOKE.new_ScrollViewEffect(), true)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(ScrollViewEffect obj)
@@ -36,6 +40,11 @@ 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>
@@ -71,16 +80,5 @@ 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 fdf9abf..3d4ba48 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,7 +111,5 @@ namespace Tizen.NUI
             NDalicPINVOKE.ScrollViewPagePathEffect_ApplyToPage(swigCPtr, View.getCPtr(page), pageOrder);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
-
     }
-
 }
index f882082..b732226 100755 (executable)
@@ -25,9 +25,47 @@ namespace Tizen.NUI
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
-        internal Shader(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Shader_SWIGUpcast(cPtr), cMemoryOwn)
+        /// <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)
         {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            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));
+            }
         }
 
         internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Shader obj)
@@ -35,6 +73,11 @@ 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>
@@ -116,50 +159,5 @@ 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 6a20e20..9a8b32c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -28,29 +28,51 @@ 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;
 
-        internal Size(global::System.IntPtr cPtr, bool cMemoryOwn)
+        /// <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)
         {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Size obj)
+        /// <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)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        //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.
+        /// The constructor.
         /// </summary>
+        /// <param name="size2d">Size2D with x (width) and y (height).</param>
         /// <since_tizen> 5 </since_tizen>
-        protected bool disposed = false;
+        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
         /// <summary>
         /// Dispose.
@@ -65,62 +87,75 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Zero constant, (0.0f, 0.0f, 0.0f).
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public void Dispose()
+        public static Size Zero
         {
-            //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_ZERO_get();
+                Size ret = (cPtr == global::System.IntPtr.Zero) ? null : new Size(cPtr, false);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
+        }
 
-            if (isDisposeQueued)
+        /// <summary>
+        /// The Width property for the width component of size
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Width
+        {
+            set
             {
-                Dispose(DisposeTypes.Implicit);
+                NDalicPINVOKE.Vector3_Width_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector3_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The Height property for the height component of size.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public float Height
         {
-            if (disposed)
+            set
             {
-                return;
+                NDalicPINVOKE.Vector3_Height_set(swigCPtr, value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             }
-
-            if (type == DisposeTypes.Explicit)
+            get
             {
-                //Called by User
-                //Release your own managed resources here.
-                //You should release all of your own disposable objects here.
-
+                float ret = NDalicPINVOKE.Vector3_Height_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.
-
-            if (swigCPtr.Handle != global::System.IntPtr.Zero)
+        /// <summary>
+        /// The Depth property for the depth component of size.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public float Depth
+        {
+            set
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Vector3(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                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;
             }
-
-            disposed = true;
         }
 
         /// <summary>
@@ -220,57 +255,157 @@ namespace Tizen.NUI
             }
         }
 
-        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// Dispose.
+        /// </summary>
+        /// <since_tizen> 5 </since_tizen>
+        public void Dispose()
         {
-            Size ret = new Size(cPtr, false);
+            //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)
+        {
+            bool ret = NDalicPINVOKE.Vector3_EqualTo(swigCPtr, Size.getCPtr(rhs));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// The constructor.
+        /// 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 Size() : this(NDalicPINVOKE.new_Vector3__SWIG_0(), true)
+        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 constructor.
+        /// The type cast operator, Size to Vector3.
         /// </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>
+        /// <param name="size">The object of size type.</param>
         /// <since_tizen> 5 </since_tizen>
-        public Size(float x, float y, float z) : this(NDalicPINVOKE.new_Vector3__SWIG_1(x, y, z), true)
+        public static implicit operator Vector3(Size size)
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return new Vector3(size.Width, size.Height, size.Depth);
         }
 
         /// <summary>
-        /// The constructor.
+        /// The type cast operator, Vector3 to Size type.
         /// </summary>
-        /// <param name="size2d">Size2D with x (width) and y (height).</param>
+        /// <param name="vec">The object of Vector3 type.</param>
         /// <since_tizen> 5 </since_tizen>
-        public Size(Size2D size2d) : this(NDalicPINVOKE.new_Vector3__SWIG_3(Size2D.getCPtr(size2d)), true)
+        public static implicit operator Size(Vector3 vec)
+        {
+            return new Size(vec.Width, vec.Height, vec.Depth);
+        }
+
+        internal static Size GetSizeFromPtr(global::System.IntPtr cPtr)
         {
+            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>
-        /// The Zero constant, (0.0f, 0.0f, 0.0f).
+        /// Dispose.
         /// </summary>
         /// <since_tizen> 5 </since_tizen>
-        public static Size Zero
+        protected virtual void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                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;
+                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 Size Add(Size rhs)
@@ -328,130 +463,6 @@ 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 7ad795e..50c401c 100755 (executable)
@@ -19,7 +19,6 @@ using Tizen.NUI.Binding;
 
 namespace Tizen.NUI
 {
-
     /// <summary>
     /// A two-dimensional size.
     /// </summary>
@@ -27,31 +26,44 @@ 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;
 
-        internal Size2D(global::System.IntPtr cPtr, bool cMemoryOwn)
-        {
-            swigCMemOwn = cMemoryOwn;
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-        }
+        /// <summary>
+        /// A Flat to check if it is already disposed.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        protected bool disposed = false;
 
-        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;
-        }
+        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;
+
         /// <summary>
-        /// A Flat to check if it is already disposed.
+        /// The constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected bool disposed = false;
+        public Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        {
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// The constructor.
+        /// </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();
+        }
 
         /// <summary>
         /// Dispose.
@@ -66,61 +78,48 @@ namespace Tizen.NUI
             }
         }
 
+        internal delegate void Size2DChangedCallback(int width, int height);
+
         /// <summary>
-        /// Dispose.
+        /// The property for the width component of a size.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public void Dispose()
+        public int Width
         {
-            //Throw excpetion if Dispose() is called in separate thread.
-            if (!Window.IsInstalled())
+            set
             {
-                throw new System.InvalidOperationException("This API called from separate thread. This API must be called from MainThread.");
-            }
+                NDalicPINVOKE.Vector2_Width_set(swigCPtr, (float)value);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            if (isDisposeQueued)
-            {
-                Dispose(DisposeTypes.Implicit);
+                callback?.Invoke(Width, Height);
             }
-            else
+            get
             {
-                Dispose(DisposeTypes.Explicit);
-                System.GC.SuppressFinalize(this);
+                float ret = NDalicPINVOKE.Vector2_Width_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
         }
 
         /// <summary>
-        /// Dispose.
+        /// The property for the height component of a size.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public int Height
         {
-            if (disposed)
+            set
             {
-                return;
-            }
+                NDalicPINVOKE.Vector2_Height_set(swigCPtr, (float)value);
+                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.
+                callback?.Invoke(Width, Height);
             }
-
-            //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_Height_get(swigCPtr);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                return (int)ret;
             }
-            disposed = true;
         }
 
         /// <summary>
@@ -208,6 +207,28 @@ 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>
@@ -222,45 +243,145 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the size from the pointer.
+        /// Dispose.
         /// </summary>
-        /// <param name="cPtr">The pointer of the size.</param>
-        /// <returns>Size</returns>
-        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
+        /// <since_tizen> 3 </since_tizen>
+        public void Dispose()
         {
-            Size2D ret = new Size2D(cPtr, false);
+            //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 />
+        /// </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>
-        /// The constructor.
+        /// 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 Size2D() : this(NDalicPINVOKE.new_Vector2__SWIG_0(), true)
+        public bool NotEqualTo(Size2D rhs)
         {
+            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>
-        /// The constructor.
+        /// Gets the size from the pointer.
         /// </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)
+        /// <param name="cPtr">The pointer of the size.</param>
+        /// <returns>Size</returns>
+        internal static Size2D GetSize2DFromPtr(global::System.IntPtr cPtr)
         {
+            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);
@@ -275,7 +396,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-
         private Size2D Multiply(Size2D rhs)
         {
             Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Multiply__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
@@ -290,7 +410,6 @@ namespace Tizen.NUI
             return ret;
         }
 
-
         private Size2D Divide(Size2D rhs)
         {
             Size2D ret = new Size2D(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Size2D.getCPtr(rhs)), true);
@@ -312,120 +431,11 @@ 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 100644 (file)
new mode 100755 (executable)
index 49580b9..4dd2e95
@@ -32,80 +32,23 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class StyleManager : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef 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 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();
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        private EventHandler<StyleChangedEventArgs> _styleManagerStyleChangedEventHandler;
+        private StyleChangedCallbackDelegate _styleManagerStyleChangedCallbackDelegate;
 
         /// <summary>
-        /// 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.
+        /// Creates a StyleManager handle.<br />
+        /// This can be initialized with StyleManager::Get().<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class StyleChangedEventArgs : EventArgs
+        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
         {
-            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;
-                }
-            }
-
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         [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
@@ -135,30 +78,16 @@ namespace Tizen.NUI
             }
         }
 
-        // 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>
-        /// Creates a StyleManager handle.<br />
-        /// This can be initialized with StyleManager::Get().<br />
+        /// Gets the singleton of the StyleManager object.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public StyleManager() : this(NDalicPINVOKE.new_StyleManager(), true)
+        /// <since_tizen> 5 </since_tizen>
+        public static StyleManager Instance
         {
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -237,6 +166,16 @@ 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);
@@ -244,5 +183,63 @@ 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 100644 (file)
new mode 100755 (executable)
index 52bfbea..32fe091
@@ -27,19 +27,105 @@ 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 static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
+        internal TTSPlayer() : this(NDalicManualPINVOKE.new_TtsPlayer__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private static readonly TTSPlayer instance = TTSPlayer.Get();
+        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
+        {
+            /// <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
+        }
+
+        /// <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
+        }
 
         /// <summary>
         /// Gets the singleton of the TTSPlayer object.
@@ -53,11 +139,6 @@ 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>
@@ -83,18 +164,6 @@ 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>
@@ -153,63 +222,23 @@ namespace Tizen.NUI
             return ret;
         }
 
-        /// <summary>
-        /// State changed argument.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class StateChangedEventArgs : EventArgs
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(TTSPlayer obj)
         {
-            /// <summary>
-            /// PrevState.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState PrevState
-            {
-                get;
-                set;
-            }
-
-            /// <summary>
-            /// NextState.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public TTSState NextState
-            {
-                get;
-                set;
-            }
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
-        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
+        internal StateChangedSignalType StateChangedSignal()
         {
-            add
-            {
-                if (_stateChangedEventHandler == null)
-                {
-                    _stateChangedEventCallback = OnStateChanged;
-                    StateChangedSignal().Connect(_stateChangedEventCallback);
-                }
-
-                _stateChangedEventHandler += value;
-            }
-            remove
-            {
-                _stateChangedEventHandler -= value;
+            StateChangedSignalType ret = new StateChangedSignalType(NDalicManualPINVOKE.TtsPlayer_StateChangedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-                if (_stateChangedEventHandler == null && StateChangedSignal().Empty() == false && _stateChangedEventCallback != null)
-                {
-                    StateChangedSignal().Disconnect(_stateChangedEventCallback);
-                }
-            }
+        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;
         }
 
         private void OnStateChanged(TTSState prevState, TTSState nextState)
@@ -225,63 +254,32 @@ 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>
-        /// Enumeration for the instance of TTS mode.
+        /// State changed argument.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public enum TTSMode
+        public class StateChangedEventArgs : EventArgs
         {
             /// <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.
+            /// PrevState.
             /// </summary>
-            ModeNum
-        }
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState PrevState
+            {
+                get;
+                set;
+            }
 
-        /// <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.
+            /// NextState.
             /// </summary>
-            Paused
+            /// <since_tizen> 3 </since_tizen>
+            public TTSState NextState
+            {
+                get;
+                set;
+            }
         }
-
     }
 
 }
index 2ef9c7a..d5de499 100755 (executable)
@@ -26,62 +26,18 @@ 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>
-        /// Dispose.
+        /// Creates a TapGesture.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        public TapGesture() : this(NDalicPINVOKE.new_TapGesture__SWIG_0(), 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_TapGesture(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            base.Dispose(type);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-
-        /// <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)
+        internal TapGesture(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGesture_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            TapGesture ret = new TapGesture(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
@@ -132,16 +88,6 @@ 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
@@ -204,6 +150,57 @@ 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 460cf20..7850859 100755 (executable)
@@ -31,107 +31,39 @@ namespace Tizen.NUI
     public class TapGestureDetector : GestureDetector
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        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;
-        }
+        private DaliEventHandler<object, DetectedEventArgs> _tapGestureEventHandler;
+        private DetectedCallbackDelegate _tapGestureCallbackDelegate;
 
         /// <summary>
-        /// Dispose.
+        /// Creates an initialized TapGestureDetector.
         /// </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 TapGestureDetector() : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_0(), 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_TapGestureDetector(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            base.Dispose(type);
         }
 
         /// <summary>
-        /// Event arguments that are passed via the TapGestureEvent signal.
+        /// Creates an initialized TapGestureDetector with the specified parameters.
         /// </summary>
-        /// <since_tizen> 5 </since_tizen>
+        /// <param name="tapsRequired">The minimum and 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 class DetectedEventArgs : EventArgs
+        public TapGestureDetector(uint tapsRequired) : this(NDalicPINVOKE.TapGestureDetector_New__SWIG_1(tapsRequired), true)
         {
-            private View _view;
-            private TapGesture _tapGesture;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-            /// <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;
-                }
-            }
+        internal TapGestureDetector(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TapGestureDetector_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         [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.
@@ -169,59 +101,6 @@ 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>
@@ -233,13 +112,6 @@ 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 />
@@ -292,6 +164,25 @@ 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);
@@ -299,6 +190,114 @@ 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 89729b0..3aebbcc 100755 (executable)
@@ -25,52 +25,6 @@ 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>
@@ -90,6 +44,11 @@ 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>
@@ -157,6 +116,47 @@ 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 949dece..4fdf1e7 100755 (executable)
@@ -28,52 +28,6 @@ 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>
-        /// 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);
-        }
-
         /// <summary>
         /// Create an instance of TextureSet.
         /// </summary>
@@ -84,6 +38,11 @@ namespace Tizen.NUI
 
         }
 
+        internal TextureSet(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.TextureSet_SWIGUpcast(cPtr), cMemoryOwn)
+        {
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
+        }
+
         /// <summary>
         /// Sets the texture at position "index".
         /// </summary>
@@ -158,6 +117,46 @@ 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 daffa3e..f07f174 100755 (executable)
@@ -35,90 +35,49 @@ 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;
 
-        internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
-        {
-            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
-
-            _timerTickCallbackDelegate = OnTick;
-            _timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_timerTickCallbackDelegate);
-
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() contructor!");
-        }
+        private System.IntPtr _timerTickCallbackOfNative;
 
         /// <summary>
-        /// Destructor.
+        /// Creates a tick timer that emits periodic signal.
         /// </summary>
-        ~Timer()
+        /// <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)
         {
-            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() distructor!, disposed={disposed}");
-        }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Timer obj)
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})  Timer({milliSec}) Constructor!");
+        }
+        internal Timer(Timer timer) : this(NDalicPINVOKE.new_Timer__SWIG_1(Timer.getCPtr(timer)), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// Dispose.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        protected override void Dispose(DisposeTypes type)
+        internal Timer(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Timer_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            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.
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
 
-            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);
-            }
+            _timerTickCallbackDelegate = OnTick;
+            _timerTickCallbackOfNative = System.Runtime.InteropServices.Marshal.GetFunctionPointerForDelegate<System.Delegate>(_timerTickCallbackDelegate);
 
-            played = false;
-            base.Dispose(type);
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() contructor!");
         }
 
-
         /// <summary>
-        /// Event arguments that passed via the tick event.
+        /// Destructor.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class TickEventArgs : EventArgs
+        ~Timer()
         {
+            NUILog.Debug($"(0x{swigCPtr.Handle:X})Timer() distructor!, disposed={disposed}");
         }
 
         [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
@@ -145,39 +104,23 @@ namespace Tizen.NUI
             }
         }
 
-        private bool OnTick()
+        /// <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
         {
-            TickEventArgs e = new TickEventArgs();
-
-            if (played == false)
+            get
             {
-                Tizen.Log.Fatal("NUI", $"(0x{swigCPtr.Handle:X}) OnTick() is called even played is false!");
-                //throw new System.InvalidOperationException($"OnTick() excpetion!");
+                return GetInterval();
             }
-
-            if (_timerTickEventHandler != null && played == true)
+            set
             {
-                //here we send all data to user event handlers
-                return _timerTickEventHandler(this, e);
+                SetInterval(value);
             }
-            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>
@@ -206,22 +149,20 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets/Sets the interval of the timer.
+        /// Tells whether the timer is running.
         /// </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
+        /// <returns>Whether the timer is started or not.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public bool IsRunning()
         {
-            get
-            {
-                return GetInterval();
-            }
-            set
-            {
-                SetInterval(value);
-            }
+            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)
+        {
+            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
         }
 
         /// <summary>
@@ -246,25 +187,81 @@ 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>
-        /// Tells whether the timer is running.
+        /// Dispose.
         /// </summary>
-        /// <returns>Whether the timer is started or not.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsRunning()
+        protected override void Dispose(DisposeTypes type)
         {
-            bool ret = NDalicPINVOKE.Timer_IsRunning(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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);
         }
 
-        internal TimerSignalType TickSignal()
+        private bool OnTick()
         {
-            TimerSignalType ret = new TimerSignalType(NDalicPINVOKE.Timer_TickSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
         }
 
+        /// <summary>
+        /// Event arguments that passed via the tick event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public class TickEventArgs : EventArgs
+        {
+        }
     }
 
 }
index 8944ea9..b5b6972 100755 (executable)
@@ -30,64 +30,6 @@ 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 />
@@ -103,6 +45,11 @@ 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>
@@ -255,13 +202,6 @@ 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>
@@ -277,6 +217,65 @@ 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 e1ec255..6eaf34d 100755 (executable)
@@ -25,53 +25,6 @@ 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>
@@ -104,6 +57,11 @@ 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>
@@ -129,6 +87,48 @@ 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 ae47d52..0155c42 100755 (executable)
@@ -26,53 +26,6 @@ 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>
@@ -92,6 +45,11 @@ 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>
@@ -154,6 +112,48 @@ 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 888f39f..5bf3228 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -27,207 +27,20 @@ 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;
-
-        /// <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;
-        }
+        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 the vector to 0.
@@ -279,6 +92,25 @@ 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>
@@ -369,116 +201,177 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector2 Add(Vector2 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Add(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
+            }
         }
 
-        private Vector2 AddAssign(Vector2 rhs)
+        /// <summary>
+        /// The width.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Width
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_AddAssign(swigCPtr, Vector2.getCPtr(rhs)), false);
-            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 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)
+        /// <summary>
+        /// The y component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Y
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            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 Vector2 MultiplyAssign(float rhs)
+        /// <summary>
+        /// The height.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Height
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_MultiplyAssign__SWIG_1(swigCPtr, rhs), false);
-            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;
+            }
         }
 
-        private Vector2 Divide(Vector2 rhs)
+        /// <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]
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return ValueOfIndex(index);
+            }
         }
 
-        private Vector2 Divide(float rhs)
+        /// <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)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Divide__SWIG_1(swigCPtr, rhs), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Add(arg2);
         }
 
-        private Vector2 DivideAssign(Vector2 rhs)
+        /// <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)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_0(swigCPtr, Vector2.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract(arg2);
         }
 
-        private Vector2 DivideAssign(float rhs)
+        /// <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)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_DivideAssign__SWIG_1(swigCPtr, rhs), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Subtract();
         }
 
-        private Vector2 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)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Vector2_Subtract__SWIG_1(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        private bool EqualTo(Vector2 rhs)
+        /// <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)
         {
-            bool ret = NDalicPINVOKE.Vector2_EqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Multiply(arg2);
         }
 
-        private bool NotEqualTo(Vector2 rhs)
+        /// <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)
         {
-            bool ret = NDalicPINVOKE.Vector2_NotEqualTo(swigCPtr, Vector2.getCPtr(rhs));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
-        private float ValueOfIndex(uint index)
+        /// <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)
         {
-            float ret = NDalicPINVOKE.Vector2_ValueOfIndex__SWIG_0(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return arg1.Divide(arg2);
         }
 
         /// <summary>
@@ -498,6 +391,16 @@ 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>
@@ -545,6 +448,41 @@ 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);
@@ -554,79 +492,150 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// The x component.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public float X
+        protected virtual void Dispose(DisposeTypes type)
         {
-            set
-            {
-                NDalicPINVOKE.Vector2_X_set(swigCPtr, value);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            }
-            get
+            if (disposed)
             {
-                float ret = NDalicPINVOKE.Vector2_X_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                return;
             }
-        }
 
-        /// <summary>
-        /// The width.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Width
-        {
-            set
+            if (type == DisposeTypes.Explicit)
             {
-                NDalicPINVOKE.Vector2_Width_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.Vector2_Width_get(swigCPtr);
-                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-                return ret;
+                if (swigCMemOwn)
+                {
+                    swigCMemOwn = false;
+                    NDalicPINVOKE.delete_Vector2(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
             }
+            disposed = true;
         }
 
-        /// <summary>
-        /// The y component.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float Y
+        private Vector2 Add(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_Add(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 AddAssign(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_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)
+        {
+            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;
         }
 
     }
index 6ecd903..764085c 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -27,207 +27,19 @@ 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;
-
-        /// <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;
-        }
+        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.
@@ -280,6 +92,25 @@ 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>
@@ -400,271 +231,42 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector3 Add(Vector3 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector3 ret = new Vector3(NDalicPINVOKE.Vector3_Add(swigCPtr, Vector3.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
+            }
         }
 
-        private Vector3 AddAssign(Vector3 rhs)
+        /// <summary>
+        /// The width component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float Width
         {
-            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;
-        }
-
-        /// <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)
-            {
-                equal = true;
-            }
-            return equal;
-        }
-
-        /// <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();
-        }
-
-        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_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;
-            }
-        }
-
-        /// <summary>
-        /// The width component.
-        /// </summary>
-        /// <since_tizen> 3 </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;
-            }
+            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>
@@ -800,6 +402,412 @@ namespace Tizen.NUI
             }
         }
 
+        /// <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);
+            }
+        }
+
+        /// <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)
+            {
+                equal = true;
+            }
+            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.
+        /// </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(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.
+        /// </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;
+        }
+
+        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;
+        }
+
     }
 
 }
\ No newline at end of file
index d36215c..acb8ffe 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -27,207 +27,21 @@ 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;
 
-        /// <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;
-        }
+        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 the vector to 0.
@@ -281,6 +95,25 @@ 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>
@@ -356,262 +189,49 @@ namespace Tizen.NUI
             }
         }
 
-        private Vector4 Add(Vector4 rhs)
+        /// <summary>
+        /// The x component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float X
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_Add(swigCPtr, Vector4.getCPtr(rhs)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
+            }
         }
 
-        private Vector4 AddAssign(Vector4 rhs)
+        /// <summary>
+        /// The red component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float R
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Vector4_AddAssign(swigCPtr, Vector4.getCPtr(rhs)), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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;
+            }
         }
 
-        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
+        /// <summary>
+        /// The s component.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public float S
         {
             set
             {
@@ -797,6 +417,397 @@ 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 af4dc6d..e404ce5 100755 (executable)
@@ -25,14 +25,20 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ViewWrapper : View
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         internal ViewWrapperImpl viewWrapperImpl;
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
 
         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;
@@ -74,12 +80,5 @@ 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 ef701cc..f4a5a68 100755 (executable)
@@ -32,52 +32,6 @@ 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>
@@ -91,6 +45,10 @@ 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.
@@ -108,17 +66,34 @@ namespace Tizen.NUI
             }
         }
 
-        internal void SetName(string name)
+        /// <summary>
+        /// The depth index of this visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public int DepthIndex
         {
-            NDalicPINVOKE.VisualBase_SetName(swigCPtr, name);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            set
+            {
+                SetDepthIndex(value);
+            }
+            get
+            {
+                return GetDepthIndex();
+            }
         }
 
-        internal string GetName()
+        /// <summary>
+        /// Creates the property map representing this visual.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public PropertyMap Creation
         {
-            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                PropertyMap map = new PropertyMap();
+                CreatePropertyMap(map);
+                return map;
+            }
         }
 
         /// <summary>
@@ -172,21 +147,24 @@ namespace Tizen.NUI
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// The depth index of this visual.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public int DepthIndex
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualBase obj)
         {
-            set
-            {
-                SetDepthIndex(value);
-            }
-            get
-            {
-                return GetDepthIndex();
-            }
+            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()
+        {
+            string ret = NDalicPINVOKE.VisualBase_GetName(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
         internal void SetDepthIndex(int index)
         {
             NDalicPINVOKE.VisualBase_SetDepthIndex(swigCPtr, index);
@@ -200,24 +178,46 @@ 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>
-        /// Creates the property map representing this visual.
+        /// Dispose.
         /// </summary>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 3 </since_tizen>
-        public PropertyMap Creation
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                PropertyMap map = new PropertyMap();
-                CreatePropertyMap(map);
-                return map;
+                return;
             }
-        }
 
-        internal void CreatePropertyMap(PropertyMap map)
-        {
-            NDalicPINVOKE.VisualBase_CreatePropertyMap(swigCPtr, PropertyMap.getCPtr(map));
-            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.
+            }
+
+            //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);
         }
 
     }
index 0c1e066..7e0b0f5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright(c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -27,6 +27,11 @@ 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)
@@ -34,9 +39,27 @@ namespace Tizen.NUI
             swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(VisualFactory obj)
+        internal VisualFactory() : this(NDalicPINVOKE.new_VisualFactory__SWIG_0(), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
+
+        /// <summary>
+        /// Retrieves the VisualFactory singleton.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public static VisualFactory Instance
+        {
+            get
+            {
+                if (!instance)
+                {
+                    instance = new VisualFactory(NDalicPINVOKE.VisualFactory_Get(), true);
+                    if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                }
+
+                return instance;
+            }
         }
 
         /// <summary>
@@ -50,17 +73,9 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         public static VisualFactory Get()
         {
-            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();
+            return VisualFactory.Instance;
         }
 
-
         /// <summary>
         /// Request the visual.
         /// </summary>
@@ -74,6 +89,11 @@ 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);
@@ -81,20 +101,6 @@ 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 9d788e7..36589c1 100755 (executable)
@@ -27,6 +27,49 @@ 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;
@@ -39,30 +82,6 @@ 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>
@@ -447,17 +466,6 @@ 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>
@@ -472,15 +480,6 @@ 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>
@@ -493,55 +492,6 @@ 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.
@@ -646,6 +596,58 @@ 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>
@@ -654,14 +656,6 @@ 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;
@@ -683,6 +677,14 @@ 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>
@@ -1092,14 +1094,6 @@ 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;
@@ -1115,6 +1109,14 @@ 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>
@@ -1449,6 +1451,10 @@ 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>
@@ -1457,10 +1463,6 @@ 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.
@@ -1544,6 +1546,9 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class ColorVisual : VisualMap
     {
+        private Color _mixColorForColorVisual = null;
+        private bool? _renderIfTransparent = false;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -1552,9 +1557,6 @@ namespace Tizen.NUI
         {
         }
 
-        private Color _mixColorForColorVisual = null;
-        private bool? _renderIfTransparent = false;
-
         /// <summary>
         /// Gets or sets the solid color required.<br />
         /// Mandatory.
@@ -1617,14 +1619,6 @@ 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;
@@ -1635,6 +1629,14 @@ 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>
@@ -1817,14 +1819,6 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class MeshVisual : VisualMap
     {
-        /// <summary>
-        /// Constructor.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public MeshVisual() : base()
-        {
-        }
-
         private string _objectURL = null;
         private string _materialtURL = null;
         private string _texturesPath = null;
@@ -1834,6 +1828,14 @@ namespace Tizen.NUI
         private Vector3 _lightPosition = null;
 
         /// <summary>
+        /// Constructor.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public MeshVisual() : base()
+        {
+        }
+
+        /// <summary>
         /// Gets or sets the location of the ".obj" file.<br />
         /// Mandatory.
         /// </summary>
@@ -1998,14 +2000,6 @@ 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;
@@ -2020,6 +2014,14 @@ 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.
@@ -2313,6 +2315,10 @@ 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>
@@ -2321,10 +2327,6 @@ 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.
@@ -2410,6 +2412,8 @@ namespace Tizen.NUI
     /// <since_tizen> 3 </since_tizen>
     public class SVGVisual : VisualMap
     {
+        private string _url = null;
+
         /// <summary>
         /// Constructor.
         /// </summary>
@@ -2418,8 +2422,6 @@ namespace Tizen.NUI
         {
         }
 
-        private string _url = null;
-
         /// <summary>
         /// The url of the svg resource.
         /// </summary>
@@ -2463,6 +2465,12 @@ 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>
@@ -2471,12 +2479,6 @@ 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>
@@ -2639,6 +2641,13 @@ 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>
@@ -2647,13 +2656,6 @@ 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 7c0f63d..ee5c316 100755 (executable)
@@ -26,120 +26,47 @@ 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;
 
-        /// <summary>
-        /// Distructor.
-        /// </summary>
-        ~WatchTime()
-        {
-            if (!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
-        }
-
-        /// <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);
-            }
-        }
+        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
+        //A Flag to check who called Dispose(). (By User or DisposeQueue)
+        private bool isDisposeQueued = false;
 
         /// <summary>
-        /// you can override it to clean-up your own resources.
+        /// Constructor.
         /// </summary>
-        /// <param name="type">DisposeTypes</param>
         /// <since_tizen> 4 </since_tizen>
-        protected virtual void Dispose(DisposeTypes type)
+        public WatchTime() : this(NDalicManualPINVOKE.new_WatchTime(), 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;
-                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
-            }
-
-            disposed = true;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static WatchTime GetWatchTimeFromPtr(global::System.IntPtr cPtr)
+        internal WatchTime(global::System.IntPtr cPtr, bool cMemoryOwn)
         {
-            WatchTime ret = new WatchTime(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <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);
+            }
         }
 
         /// <summary>
@@ -155,13 +82,6 @@ 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>
@@ -175,13 +95,6 @@ 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>
@@ -195,13 +108,6 @@ 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>
@@ -215,13 +121,6 @@ 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>
@@ -235,13 +134,6 @@ 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>
@@ -255,13 +147,6 @@ 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>
@@ -275,13 +160,6 @@ 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>
@@ -295,13 +173,6 @@ 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>
@@ -315,27 +186,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal int GetDayOfWeek()
-        {
-            int ret = NDalicManualPINVOKE.WatchTime_GetDayOfWeek(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_tm GetUtcTime()
-        {
-            SWIGTYPE_p_tm ret = new SWIGTYPE_p_tm(NDalicManualPINVOKE.WatchTime_GetUtcTime(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        internal SWIGTYPE_p_time_t GetUtcTimeStamp()
-        {
-            SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(NDalicManualPINVOKE.WatchTime_GetUtcTimeStamp(swigCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the ID of timezone.
         /// </summary>
@@ -354,13 +204,6 @@ namespace Tizen.NUI
             }
         }
 
-        internal string GetTimeZone()
-        {
-            string ret = NDalicManualPINVOKE.WatchTime_GetTimeZone(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
         /// <summary>
         /// Get the daylight saving time status.
         /// </summary>
@@ -374,6 +217,69 @@ namespace Tizen.NUI
             }
         }
 
+        /// <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);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_tm GetUtcTime()
+        {
+            SWIGTYPE_p_tm ret = new SWIGTYPE_p_tm(NDalicManualPINVOKE.WatchTime_GetUtcTime(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal SWIGTYPE_p_time_t GetUtcTimeStamp()
+        {
+            SWIGTYPE_p_time_t ret = new SWIGTYPE_p_time_t(NDalicManualPINVOKE.WatchTime_GetUtcTimeStamp(swigCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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);
@@ -381,6 +287,99 @@ namespace Tizen.NUI
             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()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetMonth(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal int GetDay()
+        {
+            int ret = NDalicManualPINVOKE.WatchTime_GetDay(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        /// <summary>
+        /// you can override it to clean-up your own resources.
+        /// </summary>
+        /// <param name="type">DisposeTypes</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;
+                    NDalicManualPINVOKE.delete_WatchTime(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+
+            disposed = true;
+        }
+
     }
 
 }
index 3898712..ae18c53 100755 (executable)
@@ -27,110 +27,83 @@ 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;
 
-        internal Wheel(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(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>
         /// 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.
+        /// The default constructor.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        ~Wheel()
+        public Wheel() : this(NDalicPINVOKE.new_Wheel__SWIG_0(), true)
         {
-            if(!isDisposeQueued)
-            {
-                isDisposeQueued = true;
-                DisposeQueue.Instance.Add(this);
-            }
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
         /// <summary>
-        /// Dispose.
+        /// 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 void Dispose()
+        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)
         {
-            //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);
-            }
+        internal Wheel(global::System.IntPtr cPtr, bool cMemoryOwn)
+        {
+            swigCMemOwn = cMemoryOwn;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
 
         /// <summary>
-        /// Dispose.
+        /// Destructor.
         /// </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)
+        ~Wheel()
         {
-            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(!isDisposeQueued)
             {
-                if (swigCMemOwn)
-                {
-                    swigCMemOwn = false;
-                    NDalicPINVOKE.delete_Wheel(swigCPtr);
-                }
-                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+                isDisposeQueued = true;
+                DisposeQueue.Instance.Add(this);
             }
-            disposed = true;
         }
 
-
-        internal static Wheel GetWheelFromPtr(global::System.IntPtr cPtr)
+        /// <summary>
+        /// The type of the wheel event.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public enum WheelType
         {
-            Wheel ret = new Wheel(cPtr, false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <summary>
+            /// Mouse wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            MouseWheel,
+
+            /// <summary>
+            /// Custom wheel event.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            CustomWheel
         }
 
         /// <summary>
@@ -205,66 +178,6 @@ 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
@@ -356,23 +269,111 @@ namespace Tizen.NUI
             }
         }
 
+
         /// <summary>
-        /// The type of the wheel event.
+        /// Checks to see if the Shift key modifier has been supplied.
         /// </summary>
+        /// <returns>True if Shift modifier.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public enum WheelType
+        public bool IsShiftModifier()
         {
-            /// <summary>
-            /// Mouse wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            MouseWheel,
+            bool ret = NDalicPINVOKE.Wheel_IsShiftModifier(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            /// <summary>
-            /// Custom wheel event.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            CustomWheel
+        /// <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.
+        /// </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)
+        {
+            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_Wheel(swigCPtr);
+                }
+                swigCPtr = new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero);
+            }
+            disposed = true;
         }
 
     }
index e7f601d..9ee703a 100755 (executable)
@@ -25,8 +25,17 @@ namespace Tizen.NUI
     /// <since_tizen> 4 </since_tizen>
     public class Widget : BaseHandle
     {
-        private global::System.Runtime.InteropServices.HandleRef swigCPtr;
         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 Widget(WidgetImpl widgetImpl, bool swigCMemOwn) : this(NDalicManualPINVOKE.Widget_New__SWIG_1(WidgetImpl.getCPtr(widgetImpl)), swigCMemOwn)
         {
@@ -46,72 +55,6 @@ 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>
@@ -131,13 +74,24 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Creates a Widget handle.
+        /// Set content info to WidgetView.
         /// </summary>
+        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
         /// <since_tizen> 4 </since_tizen>
-        public Widget () : this (new WidgetImpl(), true) {
-                       if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-               }
+        public void SetContentInfo(string contentInfo)
+        {
+            widgetImpl.SetContentInfo(contentInfo);
+        }
 
+        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);
@@ -201,18 +155,65 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Set content info to WidgetView.
+        /// Dispose.
         /// </summary>
-        /// <param name="contentInfo">Content info is kind of context information which contains current status of widget.</param>
+        /// <param name="type">The dispose type</param>
         /// <since_tizen> 4 </since_tizen>
-        public void SetContentInfo(string contentInfo)
+        protected override void Dispose(DisposeTypes type)
         {
-            widgetImpl.SetContentInfo(contentInfo);
+            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);
         }
 
-        internal System.IntPtr GetIntPtr()
+        private void OnWidgetInstanceCreated(object sender, WidgetImpl.WIdgetInstanceOnCreateArgs e)
         {
-            return swigCPtr.Handle;
+            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);
         }
     }
 }
index 10da2ef..4b7357f 100755 (executable)
@@ -39,97 +39,18 @@ namespace Tizen.NUI
     public class WidgetView : View
     {
         private global::System.Runtime.InteropServices.HandleRef swigCPtr;
-
-        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();
-        }
-
+        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;
         /// <summary>
         /// Creates a new WidgetView.
         /// </summary>
@@ -140,61 +61,27 @@ namespace Tizen.NUI
 
         }
 
-        internal static WidgetView DownCast(BaseHandle handle)
+        internal WidgetView(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicManualPINVOKE.WidgetView_SWIGUpcast(cPtr), cMemoryOwn)
         {
-            WidgetView ret = new WidgetView(NDalicManualPINVOKE.WidgetView_DownCast(BaseHandle.getCPtr(handle)), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            swigCPtr = new global::System.Runtime.InteropServices.HandleRef(this, cPtr);
         }
-
         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);
-        private WidgetAddedEventCallbackType _widgetAddedEventCallback;
+        [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);
 
         /// <summary>
         /// An event for the ResourceReady signal which can be used to subscribe or unsubscribe the event handler.<br />
@@ -226,26 +113,36 @@ namespace Tizen.NUI
             }
         }
 
-        // Callback for WidgetView WidgetAdded signal
-        private void OnWidgetAdded(IntPtr data)
+        /// <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
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            add
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                if (_widgetContentUpdatedEventHandler == null)
+                {
+                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
+                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
+                }
+
+                _widgetContentUpdatedEventHandler += value;
             }
 
-            if (_widgetAddedEventHandler != null)
+            remove
             {
-                _widgetAddedEventHandler(this, e);
+                _widgetContentUpdatedEventHandler -= value;
+
+                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
+                {
+                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
+                }
             }
         }
 
-        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 />
@@ -276,26 +173,6 @@ 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 />
@@ -326,168 +203,241 @@ 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> WidgetContentUpdated
+        public event EventHandler<WidgetViewEventArgs> WidgetUpdatePeriodChanged
         {
             add
             {
-                if (_widgetContentUpdatedEventHandler == null)
+                if (_widgetUpdatePeriodChangedEventHandler == null)
                 {
-                    _widgetContentUpdatedEventCallback = OnWidgetContentUpdated;
-                    WidgetContentUpdatedSignal().Connect(_widgetContentUpdatedEventCallback);
+                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
+                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
                 }
 
-                _widgetContentUpdatedEventHandler += value;
+                _widgetUpdatePeriodChangedEventHandler += value;
             }
 
             remove
             {
-                _widgetContentUpdatedEventHandler -= value;
+                _widgetUpdatePeriodChangedEventHandler -= value;
 
-                if (_widgetContentUpdatedEventHandler == null && WidgetContentUpdatedSignal().Empty() == false)
+                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
                 {
-                    WidgetContentUpdatedSignal().Disconnect(_widgetContentUpdatedEventCallback);
+                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
                 }
             }
         }
 
-        // Callback for WidgetView WidgetContentUpdated signal
-        private void OnWidgetContentUpdated(IntPtr data)
-        {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
-            {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
-            }
-
-            if (_widgetContentUpdatedEventHandler != null)
-            {
-                _widgetContentUpdatedEventHandler(this, e);
-            }
-        }
-
-        private EventHandler<WidgetViewEventArgs> _widgetUpdatePeriodChangedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetUpdatePeriodChangedEventCallbackType(IntPtr data);
-        private WidgetUpdatePeriodChangedEventCallbackType _widgetUpdatePeriodChangedEventCallback;
-
         /// <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> WidgetFaulted
         {
             add
             {
-                if (_widgetUpdatePeriodChangedEventHandler == null)
+                if (_widgetFaultedEventHandler == null)
                 {
-                    _widgetUpdatePeriodChangedEventCallback = OnWidgetUpdatePeriodChanged;
-                    WidgetUpdatePeriodChangedSignal().Connect(_widgetUpdatePeriodChangedEventCallback);
+                    _widgetFaultedEventCallback = OnWidgetFaulted;
+                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
                 }
 
-                _widgetUpdatePeriodChangedEventHandler += value;
+                _widgetFaultedEventHandler += value;
             }
 
             remove
             {
-                _widgetUpdatePeriodChangedEventHandler -= value;
+                _widgetFaultedEventHandler -= value;
 
-                if (_widgetUpdatePeriodChangedEventHandler == null && WidgetUpdatePeriodChangedSignal().Empty() == false)
+                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
                 {
-                    WidgetUpdatePeriodChangedSignal().Disconnect(_widgetUpdatePeriodChangedEventCallback);
+                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
                 }
             }
         }
 
-        // Callback for WidgetView WidgetUpdatePeriodChanged signal
-        private void OnWidgetUpdatePeriodChanged(IntPtr data)
+        /// <summary>
+        /// Gets the ID of the widget.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string WidgetID
         {
-            WidgetViewEventArgs e = new WidgetViewEventArgs();
-            if(data != null)
+            get
             {
-                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+                string temp;
+                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
+                return temp;
             }
+        }
 
-            if (_widgetUpdatePeriodChangedEventHandler != null)
+        /// <summary>
+        /// Gets the ID of the instance.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public string InstanceID
+        {
+            get
             {
-                _widgetUpdatePeriodChangedEventHandler(this, e);
+                string temp;
+                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
+                return temp;
             }
         }
 
-        private EventHandler<WidgetViewEventArgs> _widgetFaultedEventHandler;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WidgetFaultedEventCallbackType(IntPtr data);
-        private WidgetFaultedEventCallbackType _widgetFaultedEventCallback;
+        /// <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;
+            }
+        }
 
         /// <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 />
+        /// Gets the title.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<WidgetViewEventArgs> WidgetFaulted
+        public string Title
         {
-            add
+            get
             {
-                if (_widgetFaultedEventHandler == null)
-                {
-                    _widgetFaultedEventCallback = OnWidgetFaulted;
-                    WidgetFaultedSignal().Connect(_widgetFaultedEventCallback);
-                }
+                string temp;
+                GetProperty(WidgetView.Property.TITLE).Get(out temp);
+                return temp;
+            }
+        }
 
-                _widgetFaultedEventHandler += 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;
             }
+        }
 
-            remove
+        /// <summary>
+        /// Gets or sets the preview.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool Preview
+        {
+            get
             {
-                _widgetFaultedEventHandler -= value;
+                bool temp;
+                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
+            }
+        }
 
-                if (_widgetFaultedEventHandler == null && WidgetFaultedSignal().Empty() == false)
-                {
-                    WidgetFaultedSignal().Disconnect(_widgetFaultedEventCallback);
-                }
+        /// <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
+            {
+                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
-        // Callback for WidgetView WidgetFaulted signal
-        private void OnWidgetFaulted(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;
             }
+            set
+            {
+                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
+            }
+        }
 
-            if (_widgetFaultedEventHandler != null)
+        /// <summary>
+        /// Gets or sets whether the widget is to delete permanently or not.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public bool PermanentDelete
+        {
+            get
             {
-                _widgetFaultedEventHandler(this, e);
+                bool temp;
+                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <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;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
+            }
+        }
+
+        /// <summary>
+        /// Gets or sets effect.
+        /// </summary>
+        /// <since_tizen> 4 </since_tizen>
+        public PropertyMap Effect
+        {
+            get
+            {
+                PropertyMap temp = new PropertyMap();
+                GetProperty(WidgetView.Property.EFFECT).Get(temp);
+                return temp;
+            }
+            set
+            {
+                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
             }
         }
 
@@ -518,7 +468,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>
@@ -552,6 +502,32 @@ 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);
@@ -595,183 +571,202 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Gets the ID of the widget.
+        /// To make the Button instance be disposed.
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public string WidgetID
+        protected override void Dispose(DisposeTypes type)
         {
-            get
+            if (disposed)
             {
-                string temp;
-                GetProperty(WidgetView.Property.WIDGET_ID).Get(out temp);
-                return temp;
+                return;
             }
-        }
 
-        /// <summary>
-        /// Gets the ID of the instance.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string InstanceID
-        {
-            get
+            if (type == DisposeTypes.Explicit)
             {
-                string temp;
-                GetProperty(WidgetView.Property.INSTANCE_ID).Get(out temp);
-                return temp;
+                //Called by User
+                //Release your own managed resources here.
+                //You should release all of your own disposable objects here.
+
             }
-        }
 
-        /// <summary>
-        /// Gets the content info.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string ContentInfo
-        {
-            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 (_widgetAddedEventCallback != null)
             {
-                string temp;
-                GetProperty(WidgetView.Property.CONTENT_INFO).Get(out temp);
-                return temp;
+                this.WidgetAddedSignal().Disconnect(_widgetAddedEventCallback);
             }
-        }
 
-        /// <summary>
-        /// Gets the title.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public string Title
-        {
-            get
+            if (_widgetContentUpdatedEventCallback != null)
             {
-                string temp;
-                GetProperty(WidgetView.Property.TITLE).Get(out temp);
-                return temp;
+                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);
         }
 
-        /// <summary>
-        /// Gets the update peroid.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public float UpdatePeriod
+
+        // Callback for WidgetView WidgetAdded signal
+        private void OnWidgetAdded(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if(data != null)
             {
-                float temp;
-                GetProperty(WidgetView.Property.UPDATE_PERIOD).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
+            }
+
+            if (_widgetAddedEventHandler != null)
+            {
+                _widgetAddedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the preview.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool Preview
+        // Callback for WidgetView WidgetDeleted signal
+        private void OnWidgetDeleted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.PREVIEW).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetDeletedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.PREVIEW, new Tizen.NUI.PropertyValue(value));
+                _widgetDeletedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets the loading text.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool LoadingText
+        // Callback for WidgetView WidgetCreationAborted signal
+        private void OnWidgetCreationAborted(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.LOADING_TEXT).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetCreationAbortedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.LOADING_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetCreationAbortedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether the widget state is faulted or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool WidgetStateFaulted
+
+
+        // Callback for WidgetView WidgetContentUpdated signal
+        private void OnWidgetContentUpdated(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.WIDGET_STATE_FAULTED).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetContentUpdatedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.WIDGET_STATE_FAULTED, new Tizen.NUI.PropertyValue(value));
+                _widgetContentUpdatedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets whether the widget is to delete permanently or not.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public bool PermanentDelete
+        // Callback for WidgetView WidgetUpdatePeriodChanged signal
+        private void OnWidgetUpdatePeriodChanged(IntPtr data)
         {
-            get
+            WidgetViewEventArgs e = new WidgetViewEventArgs();
+            if (data != null)
             {
-                bool temp;
-                GetProperty(WidgetView.Property.PERMANENT_DELETE).Get(out temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetUpdatePeriodChangedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.PERMANENT_DELETE, new Tizen.NUI.PropertyValue(value));
+                _widgetUpdatePeriodChangedEventHandler(this, e);
             }
         }
 
-        /// <summary>
-        /// Gets or sets retry text.
-        /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap RetryText
+        // 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.RETRY_TEXT).Get(temp);
-                return temp;
+                e.WidgetView = WidgetView.GetWidgetViewFromPtr(data);
             }
-            set
+
+            if (_widgetFaultedEventHandler != null)
             {
-                SetProperty(WidgetView.Property.RETRY_TEXT, new Tizen.NUI.PropertyValue(value));
+                _widgetFaultedEventHandler(this, e);
             }
         }
 
         /// <summary>
-        /// Gets or sets effect.
+        /// Event arguments of the widget view.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public PropertyMap Effect
+        /// <since_tizen> 3 </since_tizen>
+        public class WidgetViewEventArgs : EventArgs
         {
-            get
-            {
-                PropertyMap temp = new PropertyMap();
-                GetProperty(WidgetView.Property.EFFECT).Get(temp);
-                return temp;
-            }
-            set
+            private WidgetView _widgetView;
+
+            /// <summary>
+            /// The widet view.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public WidgetView WidgetView
             {
-                SetProperty(WidgetView.Property.EFFECT, new Tizen.NUI.PropertyValue(value));
+                get
+                {
+                    return _widgetView;
+                }
+                set
+                {
+                    _widgetView = 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 85247d5..f7899eb 100755 (executable)
@@ -37,28 +37,72 @@ 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.
@@ -80,51 +124,6 @@ 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 09e3d8c..cbe2ee6 100755 (executable)
@@ -37,13 +37,21 @@ namespace Tizen.NUI
         private readonly LayoutItem rootLayoutItem;
 
         private List<Layer> _childLayers = new List<Layer>();
-        internal List<Layer> LayersChildren
-        {
-            get
-            {
-                return _childLayers;
-            }
-        }
+        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 Window(global::System.IntPtr cPtr, bool cMemoryOwn) : base(NDalicPINVOKE.Window_SWIGUpcast(cPtr), cMemoryOwn)
         {
@@ -70,182 +78,379 @@ namespace Tizen.NUI
             }
         }
 
-        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
+        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
         {
-            return (obj == null) ? new global::System.Runtime.InteropServices.HandleRef(null, global::System.IntPtr.Zero) : obj.swigCPtr;
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static Window GetCurrent()
+        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), true)
         {
-            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal static bool IsInstalled()
+        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
         {
-            bool ret = NDalicPINVOKE.Stage_IsInstalled();
             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, string className) : this(NDalicPINVOKE.Window_New__SWIG_3(Rectangle.getCPtr(windowPosition), name, className), true)
         {
-            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>
-        /// Returns whether the window accepts a focus or not.
+        /// FocusChanged event.
         /// </summary>
-        /// <returns>True if the window accepts a focus, false otherwise.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsFocusAcceptable()
+        public event EventHandler<FocusChangedEventArgs> FocusChanged
         {
-            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            add
+            {
+                if (_windowFocusChangedEventHandler == null)
+                {
+                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
+                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
+                }
 
-            return ret;
-        }
+                _windowFocusChangedEventHandler += value;
+            }
+            remove
+            {
+                _windowFocusChangedEventHandler -= value;
 
-        /// <summary>
-        /// Shows the window if it is hidden.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public void Show()
-        {
-            NDalicPINVOKE.Show(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
+                {
+                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
+                }
+            }
         }
 
         /// <summary>
-        /// Hides the window if it is showing.
+        /// 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 void Hide()
+        public event EventHandler<TouchEventArgs> TouchEvent
         {
-            NDalicPINVOKE.Hide(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            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);
+                }
+            }
         }
 
         /// <summary>
-        /// Retrieves whether the window is visible or not.
+        /// This event is emitted when the wheel event is received.
         /// </summary>
-        /// <returns>True if the window is visible.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public bool IsVisible()
+        public event EventHandler<WheelEventArgs> WheelEvent
         {
-            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return temp;
+            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);
+                }
+            }
         }
 
         /// <summary>
-        /// Gets the count of supported auxiliary hints of the window.
+        /// This event is emitted when the key event is received.
         /// </summary>
-        /// <returns>The number of supported auxiliary hints.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public uint GetSupportedAuxiliaryHintCount()
+        public event EventHandler<KeyEventArgs> KeyEvent
         {
-            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            add
+            {
+                if (_stageKeyHandler == null)
+                {
+                    _stageKeyCallbackDelegate = OnStageKey;
+                    KeyEventSignal().Connect(_stageKeyCallbackDelegate);
+                }
+                _stageKeyHandler += value;
+            }
+            remove
+            {
+                _stageKeyHandler -= value;
+                if (_stageKeyHandler == null && KeyEventSignal().Empty() == false)
+                {
+                    KeyEventSignal().Disconnect(_stageKeyCallbackDelegate);
+                }
+            }
         }
 
         /// <summary>
-        /// Gets the supported auxiliary hint string of the window.
+        /// This event is emitted when the window resized.
         /// </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)
+        public event EventHandler<ResizedEventArgs> Resized
         {
-            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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);
+                }
+            }
         }
 
         /// <summary>
-        /// Creates an auxiliary hint of the window.
+        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
         /// </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)
+        /// 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
         {
-            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            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);
+                }
+            }
         }
 
-        /// <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)
+        internal event EventHandler EventProcessingFinished
         {
-            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            add
+            {
+                if (_stageEventProcessingFinishedEventHandler == null)
+                {
+                    _stageEventProcessingFinishedEventCallbackDelegate = OnEventProcessingFinished;
+                    EventProcessingFinishedSignal().Connect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+                _stageEventProcessingFinishedEventHandler += value;
+
+            }
+            remove
+            {
+                _stageEventProcessingFinishedEventHandler -= value;
+                if (_stageEventProcessingFinishedEventHandler == null && EventProcessingFinishedSignal().Empty() == false)
+                {
+                    EventProcessingFinishedSignal().Disconnect(_stageEventProcessingFinishedEventCallbackDelegate);
+                }
+            }
         }
 
-        /// <summary>
-        /// Changes a value of the auxiliary hint.
+        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);
+                }
+            }
+        }
+
+        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);
+                }
+            }
+        }
+
+        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.
         /// </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 enum WindowOrientation
         {
-            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <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
         }
 
         /// <summary>
-        /// Gets a value of the auxiliary hint.
+        /// Enumeration for the key grab mode for platform-level APIs.
         /// </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 enum KeyGrabMode
         {
-            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            /// <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>
-        /// Gets an ID of the auxiliary hint string.
+        /// Enumeration for visible mode of the indicator.
         /// </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 enum IndicatorVisibleMode
         {
-            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            Invisible = 0,
+            Visible = 1,
+            Auto = 2
         }
 
         /// <summary>
-        /// Sets a region to accept input events.
+        /// The stage instance property (read-only).<br />
+        /// Gets the current window.<br />
         /// </summary>
-        /// <param name="inputRegion">The region to accept input events.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void SetInputRegion(Rectangle inputRegion)
+        public static Window Instance
         {
-            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                return instance;
+            }
         }
 
         /// <summary>
@@ -268,412 +473,505 @@ namespace Tizen.NUI
         }
 
         /// <summary>
-        /// Sets a priority level for the specified notification window.
+        /// Gets/Sets a window title.
         /// </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)
+        /// <since_tizen> 4 </since_tizen>
+        public string Title
         {
-            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return _windowTitle;
+            }
+            set
+            {
+                _windowTitle = value;
+                SetClass(_windowTitle, "");
+            }
         }
 
         /// <summary>
-        /// Gets a priority level for the specified notification window.
+        /// The rendering behavior of a Window.
         /// </summary>
-        /// <returns>The notification window level.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public NotificationLevel GetNotificationLevel()
+        /// <since_tizen> 5 </since_tizen>
+        public RenderingBehaviorType RenderingBehavior
         {
-            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetRenderingBehavior();
+            }
+            set
+            {
+                SetRenderingBehavior(value);
+            }
         }
 
         /// <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.
+        /// The window size property (read-only).
         /// </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)
+        public Size2D Size
         {
-            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            get
+            {
+                Size2D ret = GetSize();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// Returns whether a transparent window's visual state is opaque or not.
+        /// The background color property.
         /// </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()
+        public Color BackgroundColor
         {
-            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            set
+            {
+                SetBackgroundColor(value);
+            }
+            get
+            {
+                Color ret = GetBackgroundColor();
+                return ret;
+            }
         }
 
         /// <summary>
-        /// Sets a window's screen off mode.
+        /// The DPI property (read-only).<br />
+        /// Retrieves the DPI of the display device to which the Window is connected.<br />
         /// </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)
+        /// <since_tizen> 3 </since_tizen>
+        public Vector2 Dpi
         {
-            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return GetDpi();
+            }
         }
 
         /// <summary>
-        /// Gets the screen mode of the window.
-        /// </summary>
-        /// <returns>The screen off mode.</returns>
-        /// <since_tizen> 4 </since_tizen>
-        public ScreenOffMode GetScreenOffMode()
-        {
-            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
-        }
-
-        /// <summary>
-        /// Sets preferred brightness of the window.
-        /// </summary>
-        /// <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)
-        {
-            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.
+        /// The layer count property (read-only).<br />
+        /// Queries the number of on-Window layers.<br />
         /// </summary>
         /// <since_tizen> 3 </since_tizen>
-        public class FocusChangedEventArgs : EventArgs
+        public uint LayerCount
         {
-            /// <summary>
-            /// FocusGained flag.
-            /// </summary>
-            /// <since_tizen> 3 </since_tizen>
-            public bool FocusGained
+            get
             {
-                get;
-                set;
+                return GetLayerCount();
             }
         }
 
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType(bool focusGained);
-        private event EventHandler<FocusChangedEventArgs> _windowFocusChangedEventHandler;
-
         /// <summary>
-        /// FocusChanged event.
+        /// Gets or sets a size of the window.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<FocusChangedEventArgs> FocusChanged
+        /// <since_tizen> 4 </since_tizen>
+        public Size2D WindowSize
         {
-            add
-            {
-                if (_windowFocusChangedEventHandler == null)
-                {
-                    _windowFocusChangedEventCallback = OnWindowFocusedChanged;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback);
-                }
-
-                _windowFocusChangedEventHandler += value;
-            }
-            remove
+            get
             {
-                _windowFocusChangedEventHandler -= value;
-
-                if (_windowFocusChangedEventHandler == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback != null)
-                {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback);
-                }
+                return GetWindowSize();
             }
-        }
-
-        private void OnWindowFocusedChanged(bool focusGained)
-        {
-            FocusChangedEventArgs e = new FocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
-
-            if (_windowFocusChangedEventHandler != null)
+            set
             {
-                _windowFocusChangedEventHandler(this, e);
+                SetWindowSize(value);
             }
         }
 
         /// <summary>
-        /// Gets/Sets a window title.
+        /// Gets or sets a position of the window.
         /// </summary>
         /// <since_tizen> 4 </since_tizen>
-        public string Title
+        public Position2D WindowPosition
         {
             get
             {
-                return _windowTitle;
+                return GetPosition();
             }
             set
             {
-                _windowTitle = value;
-                SetClass(_windowTitle, "");
+                SetPosition(value);
             }
         }
-
-        /// <summary>
-        /// The rendering behavior of a Window.
-        /// </summary>
-        /// <since_tizen> 5 </since_tizen>
-        public RenderingBehaviorType RenderingBehavior
+        internal static Vector4 DEFAULT_BACKGROUND_COLOR
         {
             get
             {
-                return GetRenderingBehavior();
+                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;
             }
-            set
+        }
+
+        internal static Vector4 DEBUG_BACKGROUND_COLOR
+        {
+            get
             {
-                SetRenderingBehavior(value);
+                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 WindowFocusSignalType WindowFocusChangedSignal()
+        internal List<Layer> LayersChildren
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            get
+            {
+                return _childLayers;
+            }
         }
 
-        internal Window(Rectangle windowPosition, string name, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_0(Rectangle.getCPtr(windowPosition), name, isTransparent), true)
+        /// <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();
         }
 
-        internal Window(Rectangle windowPosition, string name) : this(NDalicPINVOKE.Window_New__SWIG_1(Rectangle.getCPtr(windowPosition), name), 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();
         }
 
-        internal Window(Rectangle windowPosition, string name, string className, bool isTransparent) : this(NDalicPINVOKE.Window_New__SWIG_2(Rectangle.getCPtr(windowPosition), name, className, isTransparent), true)
+        /// <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()
         {
+            bool ret = NDalicPINVOKE.IsFocusAcceptable(swigCPtr);
             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>
+        /// Shows the window if it is hidden.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Show()
         {
+            NDalicPINVOKE.Show(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
+        /// <summary>
+        /// Hides the window if it is showing.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Hide()
         {
-            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
+            NDalicPINVOKE.Hide(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
+        /// <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()
         {
-            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
+            bool temp = NDalicPINVOKE.IsVisible(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return temp;
         }
 
-        internal void RotateIndicator(Window.WindowOrientation orientation)
+        /// <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()
         {
-            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+            uint ret = NDalicPINVOKE.GetSupportedAuxiliaryHintCount(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Sets the window name and the class string.
+        /// Gets the supported auxiliary hint string of the window.
         /// </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)
+        /// <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)
         {
-            NDalicPINVOKE.Window_SetClass(swigCPtr, name, klass);
+            string ret = NDalicPINVOKE.GetSupportedAuxiliaryHint(swigCPtr, index);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Raises the window to the top of the window stack.
+        /// 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 void Raise()
+        public uint AddAuxiliaryHint(string hint, string value)
         {
-            NDalicPINVOKE.Window_Raise(swigCPtr);
+            uint ret = NDalicPINVOKE.AddAuxiliaryHint(swigCPtr, hint, value);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Lowers the window to the bottom of the window stack.
+        /// 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 void Lower()
+        public bool RemoveAuxiliaryHint(uint id)
         {
-            NDalicPINVOKE.Window_Lower(swigCPtr);
+            bool ret = NDalicPINVOKE.RemoveAuxiliaryHint(swigCPtr, id);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Activates the window to the top of the window stack even it is iconified.
+        /// 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 void Activate()
+        public bool SetAuxiliaryHintValue(uint id, string value)
         {
-            NDalicPINVOKE.Window_Activate(swigCPtr);
+            bool ret = NDalicPINVOKE.SetAuxiliaryHintValue(swigCPtr, id, value);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
+        /// <summary>
+        /// 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 string GetAuxiliaryHintValue(uint id)
         {
-            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+            string ret = NDalicPINVOKE.GetAuxiliaryHintValue(swigCPtr, id);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+        /// <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)
         {
-            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+            uint ret = NDalicPINVOKE.GetAuxiliaryHintId(swigCPtr, hint);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
-        {
-            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+        /// <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)
+        {
+            NDalicPINVOKE.SetInputRegion(swigCPtr, Rectangle.getCPtr(inputRegion));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Window.WindowOrientation GetPreferredOrientation()
+        /// <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)
         {
-            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
+            bool ret = NDalicPINVOKE.SetNotificationLevel(swigCPtr, (int)level);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal DragAndDropDetector GetDragAndDropDetector()
+        /// <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()
         {
-            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), true);
+            NotificationLevel ret = (NotificationLevel)NDalicPINVOKE.GetNotificationLevel(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal Any GetNativeHandle()
+        /// <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)
         {
-            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), true);
+            NDalicPINVOKE.SetOpaqueState(swigCPtr, opaque);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal WindowFocusSignalType FocusChangedSignal()
+        /// <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()
         {
-            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
+            bool ret = NDalicPINVOKE.IsOpaqueState(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Gets the default ( root ) layer.
+        /// Sets a window's screen off mode.
         /// </summary>
-        /// <returns>The root layer.</returns>
-        /// <since_tizen> 3 </since_tizen>
-        public Layer GetDefaultLayer()
+        /// <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)
         {
-            return this.GetRootLayer();
+            bool ret = NDalicPINVOKE.SetScreenOffMode(swigCPtr, (int)screenOffMode);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void Add(Layer layer)
+        /// <summary>
+        /// Gets the screen mode of the window.
+        /// </summary>
+        /// <returns>The screen off mode.</returns>
+        /// <since_tizen> 4 </since_tizen>
+        public ScreenOffMode GetScreenOffMode()
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
+            ScreenOffMode ret = (ScreenOffMode)NDalicPINVOKE.GetScreenOffMode(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            LayersChildren.Add(layer);
+        /// <summary>
+        /// Sets preferred brightness of the window.
+        /// </summary>
+        /// <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)
+        {
+            bool ret = NDalicPINVOKE.SetBrightness(swigCPtr, brightness);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void Remove(Layer layer)
+        /// <summary>
+        /// Gets the preferred brightness of the window.
+        /// </summary>
+        /// <returns>The preferred brightness.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public int GetBrightness()
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
+            int ret = NDalicPINVOKE.GetBrightness(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            LayersChildren.Remove(layer);
+        /// <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();
         }
 
         /// <summary>
-        /// Add a child view to window.
+        /// Raises the window to the top of the window stack.
         /// </summary>
-        /// <param name="view">the child should be added to the window.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Add(View view)
+        public void Raise()
         {
-            NDalicPINVOKE.Actor_Add( rootLayoutCPtr, View.getCPtr(view) );
+            NDalicPINVOKE.Window_Raise(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            this.GetRootLayer().AddViewToLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = this.GetRootLayer();
         }
 
         /// <summary>
-        /// Remove a child view from window.
+        /// Lowers the window to the bottom of the window stack.
         /// </summary>
-        /// <param name="view">the child to be removed.</param>
         /// <since_tizen> 3 </since_tizen>
-        public void Remove(View view)
+        public void Lower()
         {
-            NDalicPINVOKE.Actor_Remove( rootLayoutCPtr, View.getCPtr(view) );
-            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
-            view.InternalParent = null;
+            NDalicPINVOKE.Window_Lower(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector2 GetSize()
+        /// <summary>
+        /// Activates the window to the top of the window stack even it is iconified.
+        /// </summary>
+        /// <since_tizen> 3 </since_tizen>
+        public void Activate()
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
+            NDalicPINVOKE.Window_Activate(swigCPtr);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal RenderTaskList GetRenderTaskList()
+        /// <summary>
+        /// Gets the default ( root ) layer.
+        /// </summary>
+        /// <returns>The root layer.</returns>
+        /// <since_tizen> 3 </since_tizen>
+        public Layer GetDefaultLayer()
         {
-            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            return this.GetRootLayer();
         }
 
         /// <summary>
-        /// Queries the number of on-window layers.
+        /// Add a child view to window.
         /// </summary>
-        /// <returns>The number of layers.</returns>
-        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
-        internal uint GetLayerCount()
+        /// <param name="view">the child should be added to the window.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Add(View view)
         {
-            if (LayersChildren == null || LayersChildren.Count < 0)
-                return 0;
+            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();
+        }
 
-            return (uint) LayersChildren.Count;
+        /// <summary>
+        /// Remove a child view from window.
+        /// </summary>
+        /// <param name="view">the child to be removed.</param>
+        /// <since_tizen> 3 </since_tizen>
+        public void Remove(View view)
+        {
+            NDalicPINVOKE.Actor_Remove(rootLayoutCPtr, View.getCPtr(view));
+            this.GetRootLayer().RemoveViewFromLayerList(view); // Maintain the children list in the Layer
+            view.InternalParent = null;
         }
 
         /// <summary>
@@ -695,777 +993,396 @@ namespace Tizen.NUI
             }
         }
 
-        internal Layer GetRootLayer()
-        {
-            // 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;
-        }
-
-        internal void SetBackgroundColor(Vector4 color)
+        /// <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)
         {
-            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
+            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal Vector4 GetBackgroundColor()
+        /// <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)
         {
-            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal Vector2 GetDpi()
+        /// <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)
         {
-            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal ObjectRegistry GetObjectRegistry()
+        /// <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)
         {
-            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
+            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
         /// <summary>
-        /// Keep rendering for at least the given amount of time.
+        /// 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="durationSeconds">Time to keep rendering, 0 means render at least one more frame.</param>
+        /// <param name="DaliKey">The key code to ungrab.</param>
+        /// <returns>True if the ungrab succeeds.</returns>
         /// <since_tizen> 3 </since_tizen>
-        public void KeepRendering(float durationSeconds)
+        public bool UngrabKey(int DaliKey)
         {
-            NDalicPINVOKE.Stage_KeepRendering(stageCPtr, durationSeconds);
+            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
+        /// <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_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
+            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        internal RenderingBehaviorType GetRenderingBehavior()
+        /// <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)
         {
-            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal KeyEventSignal KeyEventSignal()
+        /// <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)
         {
-            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(stageCPtr), false);
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Add(layer);
         }
 
-        internal VoidSignal EventProcessingFinishedSignal()
+        /// <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)
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Remove(layer);
         }
 
-        internal TouchSignal TouchSignal()
+        /// <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)
         {
-            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
+            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal TouchDataSignal TouchDataSignal()
+        /// <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()
         {
-            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private StageWheelSignal WheelEventSignal()
+        internal static global::System.Runtime.InteropServices.HandleRef getCPtr(Window obj)
         {
-            StageWheelSignal ret = new StageWheelSignal(NDalicPINVOKE.Stage_WheelEventSignal(stageCPtr), false);
-            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;
         }
 
-
-        private WheelSignal StageWheelEventSignal()
+        internal static Window GetCurrent()
         {
-            WheelSignal ret = new WheelSignal(NDalicPINVOKE.Actor_WheelEventSignal(Layer.getCPtr(this.GetRootLayer())), false);
-            if (NDalicPINVOKE.SWIGPendingException.Pending)
-                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            Window ret = new Window(NDalicPINVOKE.Stage_GetCurrent(), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-
-        internal VoidSignal ContextLostSignal()
+        internal static bool IsInstalled()
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
+            bool ret = NDalicPINVOKE.Stage_IsInstalled();
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal VoidSignal ContextRegainedSignal()
+        internal WindowFocusSignalType WindowFocusChangedSignal()
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        internal VoidSignal SceneCreatedSignal()
+        internal void ShowIndicator(Window.IndicatorVisibleMode visibleMode)
         {
-            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
+            NDalicPINVOKE.Window_ShowIndicator(swigCPtr, (int)visibleMode);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal ResizedSignal ResizedSignal()
+        internal void SetIndicatorBackgroundOpacity(Window.IndicatorBackgroundOpacity opacity)
         {
-            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
+            NDalicPINVOKE.Window_SetIndicatorBgOpacity(swigCPtr, (int)opacity);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
         }
 
-        internal static Vector4 DEFAULT_BACKGROUND_COLOR
+        internal void RotateIndicator(Window.WindowOrientation orientation)
         {
-            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;
-            }
+            NDalicPINVOKE.Window_RotateIndicator(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        internal static Vector4 DEBUG_BACKGROUND_COLOR
+        internal void AddAvailableOrientation(Window.WindowOrientation orientation)
         {
-            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;
-            }
+            NDalicPINVOKE.Window_AddAvailableOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        private static readonly Window instance = Application.Instance.GetWindow();
+        internal void RemoveAvailableOrientation(Window.WindowOrientation orientation)
+        {
+            NDalicPINVOKE.Window_RemoveAvailableOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+        }
 
-        /// <summary>
-        /// The stage instance property (read-only).<br />
-        /// Gets the current window.<br />
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public static Window Instance
+        internal void SetPreferredOrientation(Window.WindowOrientation orientation)
         {
-            get
-            {
-                return instance;
-            }
+            NDalicPINVOKE.Window_SetPreferredOrientation(swigCPtr, (int)orientation);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <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 Window.WindowOrientation GetPreferredOrientation()
         {
-            bool ret = NDalicManualPINVOKE.GrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            Window.WindowOrientation ret = (Window.WindowOrientation)NDalicPINVOKE.Window_GetPreferredOrientation(swigCPtr);
             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 DragAndDropDetector GetDragAndDropDetector()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKeyTopmost(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            DragAndDropDetector ret = new DragAndDropDetector(NDalicPINVOKE.Window_GetDragAndDropDetector(swigCPtr), 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 Any GetNativeHandle()
         {
-            bool ret = NDalicManualPINVOKE.GrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey, (int)GrabMode);
+            Any ret = new Any(NDalicPINVOKE.Window_GetNativeHandle(swigCPtr), 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 WindowFocusSignalType FocusChangedSignal()
         {
-            bool ret = NDalicManualPINVOKE.UngrabKey(HandleRef.ToIntPtr(this.swigCPtr), DaliKey);
+            WindowFocusSignalType ret = new WindowFocusSignalType(NDalicPINVOKE.FocusChangedSignal(swigCPtr), false);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <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)
+        internal void Add(Layer layer)
         {
-            bool ret = NDalicManualPINVOKE.SetKeyboardRepeatInfo(rate, delay);
+            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Add(layer);
         }
 
-        /// <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 Remove(Layer layer)
         {
-            bool ret = NDalicManualPINVOKE.GetKeyboardRepeatInfo(out rate, out delay);
+            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-            return ret;
+
+            LayersChildren.Remove(layer);
         }
 
-        internal System.IntPtr GetNativeWindowHandler()
+        internal Vector2 GetSize()
         {
-            System.IntPtr ret = NDalicManualPINVOKE.GetNativeWindowHandler(HandleRef.ToIntPtr(this.swigCPtr));
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetSize(stageCPtr), true);
             if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
             return ret;
         }
 
-        /// <summary>
-        /// Enumeration for orientation of the window is the way in which a rectangular page is oriented for normal viewing.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum WindowOrientation
+        internal RenderTaskList GetRenderTaskList()
         {
-            /// <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
+            RenderTaskList ret = new RenderTaskList(NDalicPINVOKE.Stage_GetRenderTaskList(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         /// <summary>
-        /// Enumeration for the key grab mode for platform-level APIs.
+        /// Queries the number of on-window layers.
         /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public enum KeyGrabMode
+        /// <returns>The number of layers.</returns>
+        /// <remarks>Note that a default layer is always provided (count >= 1).</remarks>
+        internal uint GetLayerCount()
         {
-            /// <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);
-                }
-            }
-        }
+            if (LayersChildren == null || LayersChildren.Count < 0)
+                return 0;
 
-        // Callback for Stage ContextLostSignal
-        private void OnContextLost()
-        {
-            if (_stageContextLostEventHandler != null)
-            {
-                _stageContextLostEventHandler(this, null);
-            }
+            return (uint) LayersChildren.Count;
         }
 
-
-        private EventHandler _stageContextRegainedEventHandler;
-        private EventCallbackDelegateType0 _stageContextRegainedEventCallbackDelegate;
-
-        internal event EventHandler ContextRegained
+        internal Layer GetRootLayer()
         {
-            add
-            {
-                if (_stageContextRegainedEventHandler == null)
-                {
-                    _stageContextRegainedEventCallbackDelegate = OnContextRegained;
-                    ContextRegainedSignal().Connect(_stageContextRegainedEventCallbackDelegate);
-                }
-                _stageContextRegainedEventHandler += value;
-            }
-            remove
+            // 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())
             {
-                _stageContextRegainedEventHandler -= value;
-                if (_stageContextRegainedEventHandler == null && ContextRegainedSignal().Empty() == false)
-                {
-                    this.ContextRegainedSignal().Disconnect(_stageContextRegainedEventCallbackDelegate);
-                }
+                _rootLayer = new Layer(NDalicPINVOKE.Stage_GetRootLayer(stageCPtr), true);
+                if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+                LayersChildren.Add(_rootLayer);
             }
+            return _rootLayer;
         }
 
-        // Callback for Stage ContextRegainedSignal
-        private void OnContextRegained()
+        internal void SetBackgroundColor(Vector4 color)
         {
-            if (_stageContextRegainedEventHandler != null)
-            {
-                _stageContextRegainedEventHandler(this, null);
-            }
+            NDalicPINVOKE.Stage_SetBackgroundColor(stageCPtr, Vector4.getCPtr(color));
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
+        internal Vector4 GetBackgroundColor()
+        {
+            Vector4 ret = new Vector4(NDalicPINVOKE.Stage_GetBackgroundColor(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-        private EventHandler _stageSceneCreatedEventHandler;
-        private EventCallbackDelegateType0 _stageSceneCreatedEventCallbackDelegate;
+        internal Vector2 GetDpi()
+        {
+            Vector2 ret = new Vector2(NDalicPINVOKE.Stage_GetDpi(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-        internal event EventHandler SceneCreated
+        internal ObjectRegistry GetObjectRegistry()
         {
-            add
-            {
-                if (_stageSceneCreatedEventHandler == null)
-                {
-                    _stageSceneCreatedEventCallbackDelegate = OnSceneCreated;
-                    SceneCreatedSignal().Connect(_stageSceneCreatedEventCallbackDelegate);
-                }
-                _stageSceneCreatedEventHandler += value;
-            }
-            remove
-            {
-                _stageSceneCreatedEventHandler -= value;
-                if (_stageSceneCreatedEventHandler == null && SceneCreatedSignal().Empty() == false)
-                {
-                    SceneCreatedSignal().Disconnect(_stageSceneCreatedEventCallbackDelegate);
-                }
-            }
+            ObjectRegistry ret = new ObjectRegistry(NDalicPINVOKE.Stage_GetObjectRegistry(stageCPtr), true);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        // Callback for Stage SceneCreatedSignal
-        private void OnSceneCreated()
+        internal void SetRenderingBehavior(RenderingBehaviorType renderingBehavior)
         {
-            if (_stageSceneCreatedEventHandler != null)
-            {
-                _stageSceneCreatedEventHandler(this, null);
-            }
+            NDalicPINVOKE.Stage_SetRenderingBehavior(stageCPtr, (int)renderingBehavior);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
         }
 
-        /// <summary>
-        /// This resized event arguments.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public class ResizedEventArgs : EventArgs
+        internal RenderingBehaviorType GetRenderingBehavior()
         {
-            Size2D _windowSize;
+            RenderingBehaviorType ret = (RenderingBehaviorType)NDalicPINVOKE.Stage_GetRenderingBehavior(stageCPtr);
+            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 KeyEventSignal KeyEventSignal()
+        {
+            KeyEventSignal ret = new KeyEventSignal(NDalicPINVOKE.Stage_KeyEventSignal(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 VoidSignal EventProcessingFinishedSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_EventProcessingFinishedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-        /// <summary>
-        /// This event is emitted when the window resized.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public event EventHandler<ResizedEventArgs> Resized
+        internal TouchSignal TouchSignal()
         {
-            add
-            {
-                if (_windowResizedEventHandler == null)
-                {
-                    _windowResizedEventCallback = OnResized;
-                    ResizedSignal().Connect(_windowResizedEventCallback);
-                }
+            TouchSignal ret = new TouchSignal(NDalicPINVOKE.Stage_TouchSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-                _windowResizedEventHandler += value;
-            }
-            remove
-            {
-                _windowResizedEventHandler -= value;
+        internal TouchDataSignal TouchDataSignal()
+        {
+            TouchDataSignal ret = new TouchDataSignal(NDalicPINVOKE.Actor_TouchSignal(Layer.getCPtr(GetRootLayer())), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending)
+                throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-                if (_windowResizedEventHandler == null && ResizedSignal().Empty() == false && _windowResizedEventCallback != null)
-                {
-                    ResizedSignal().Disconnect(_windowResizedEventCallback);
-                }
-            }
+        internal VoidSignal ContextLostSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextLostSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
-        private void OnResized(IntPtr windowSize)
+        internal VoidSignal ContextRegainedSignal()
         {
-            ResizedEventArgs e = new ResizedEventArgs();
-            var val = new Uint16Pair(windowSize, false);
-            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
-            val.Dispose();
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_ContextRegainedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
 
-            if (_windowResizedEventHandler != null)
-            {
-                _windowResizedEventHandler(this, e);
-            }
+        internal VoidSignal SceneCreatedSignal()
+        {
+            VoidSignal ret = new VoidSignal(NDalicPINVOKE.Stage_SceneCreatedSignal(stageCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
+        }
+
+        internal ResizedSignal ResizedSignal()
+        {
+            ResizedSignal ret = new ResizedSignal(NDalicManualPINVOKE.Window_ResizedSignal(swigCPtr), false);
+            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            return ret;
         }
 
         internal void SetWindowSize(Size2D size)
@@ -1515,6 +1432,7 @@ 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)
@@ -1531,104 +1449,171 @@ 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();
+            }
         }
 
-        /// <summary>
-        /// The window size property (read-only).
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Size2D Size
+        internal System.IntPtr GetNativeWindowHandler()
         {
-            get
+            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)
             {
-                Size2D ret = GetSize();
-                return ret;
+                _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);
             }
         }
 
-        /// <summary>
-        /// The background color property.
-        /// </summary>
-        /// <since_tizen> 3 </since_tizen>
-        public Color BackgroundColor
+        // Callback for Stage EventProcessingFinishedSignal
+        private void OnEventProcessingFinished()
         {
-            set
+            if (_stageEventProcessingFinishedEventHandler != null)
             {
-                SetBackgroundColor(value);
+                _stageEventProcessingFinishedEventHandler(this, null);
             }
-            get
+        }
+
+        // Callback for Stage ContextLostSignal
+        private void OnContextLost()
+        {
+            if (_stageContextLostEventHandler != null)
             {
-                Color ret = GetBackgroundColor();
-                return ret;
+                _stageContextLostEventHandler(this, null);
             }
         }
 
-        /// <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
+        // Callback for Stage ContextRegainedSignal
+        private void OnContextRegained()
         {
-            get
+            if (_stageContextRegainedEventHandler != null)
             {
-                return GetDpi();
+                _stageContextRegainedEventHandler(this, null);
             }
         }
 
-        /// <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
+        // Callback for Stage SceneCreatedSignal
+        private void OnSceneCreated()
         {
-            get
+            if (_stageSceneCreatedEventHandler != null)
             {
-                return GetLayerCount();
+                _stageSceneCreatedEventHandler(this, null);
             }
         }
 
-
-        /// <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)
+        private void OnResized(IntPtr windowSize)
         {
-            NDalicPINVOKE.Stage_Add(stageCPtr, Layer.getCPtr(layer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            ResizedEventArgs e = new ResizedEventArgs();
+            var val = new Uint16Pair(windowSize, false);
+            e.WindowSize = new Size2D(val.GetWidth(), val.GetHeight());
+            val.Dispose();
 
-            LayersChildren.Add(layer);
+            if (_windowResizedEventHandler != null)
+            {
+                _windowResizedEventHandler(this, e);
+            }
         }
 
-        /// <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)
+        private void OnWindowFocusedChanged2(bool focusGained)
         {
-            NDalicPINVOKE.Stage_Remove(stageCPtr, Layer.getCPtr(layer));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            FocusChangedEventArgs e = new FocusChangedEventArgs();
 
-            LayersChildren.Remove(layer);
+            e.FocusGained = focusGained;
+
+            if (_windowFocusChangedEventHandler2 != null)
+            {
+                _windowFocusChangedEventHandler2(this, e);
+            }
         }
 
         /// <summary>
-        /// Please do not use! this will be deprecated
+        /// The focus changed event argument.
         /// </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
+        public class FocusChangedEventArgs : EventArgs
         {
             /// <summary>
-            /// Please do not use! this will be deprecated
+            /// FocusGained flag.
             /// </summary>
             /// <since_tizen> 3 </since_tizen>
             public bool FocusGained
@@ -1638,86 +1623,78 @@ namespace Tizen.NUI
             }
         }
 
-        private WindowFocusChangedEventCallbackType _windowFocusChangedEventCallback2;
-        [UnmanagedFunctionPointer(CallingConvention.StdCall)]
-        private delegate void WindowFocusChangedEventCallbackType2(bool focusGained);
-        private event EventHandler<WindowFocusChangedEventArgs> _windowFocusChangedEventHandler2;
-
         /// <summary>
-        /// Please do not use! this will be deprecated. Please use 'FocusChanged' event instead.
+        /// The touch event argument.
         /// </summary>
         /// <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<WindowFocusChangedEventArgs> WindowFocusChanged
+        public class TouchEventArgs : EventArgs
         {
-            add
+            private Touch _touch;
+
+            /// <summary>
+            /// Touch.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Touch Touch
             {
-                if (_windowFocusChangedEventHandler2 == null)
+                get
                 {
-                    _windowFocusChangedEventCallback2 = OnWindowFocusedChanged2;
-                    WindowFocusChangedSignal().Connect(_windowFocusChangedEventCallback2);
+                    return _touch;
                 }
-
-                _windowFocusChangedEventHandler2 += value;
-            }
-            remove
-            {
-                _windowFocusChangedEventHandler2 -= value;
-
-                if (_windowFocusChangedEventHandler2 == null && WindowFocusChangedSignal().Empty() == false && _windowFocusChangedEventCallback2 != null)
+                set
                 {
-                    WindowFocusChangedSignal().Disconnect(_windowFocusChangedEventCallback2);
+                    _touch = value;
                 }
             }
         }
 
-        private void OnWindowFocusedChanged2(bool focusGained)
-        {
-            WindowFocusChangedEventArgs e = new WindowFocusChangedEventArgs();
-
-            e.FocusGained = focusGained;
-
-            if (_windowFocusChangedEventHandler2 != null)
-            {
-                _windowFocusChangedEventHandler2(this, e);
-            }
-        }
-
         /// <summary>
-        /// Gets or sets a size of the window.
+        /// Wheel event arguments.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Size2D WindowSize
+        /// <since_tizen> 3 </since_tizen>
+        public class WheelEventArgs : EventArgs
         {
-            get
-            {
-                return GetWindowSize();
-            }
-            set
+            private Wheel _wheel;
+
+            /// <summary>
+            /// Wheel.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Wheel Wheel
             {
-                SetWindowSize(value);
+                get
+                {
+                    return _wheel;
+                }
+                set
+                {
+                    _wheel = value;
+                }
             }
         }
 
         /// <summary>
-        /// Gets or sets a position of the window.
+        /// Key event arguments.
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public Position2D WindowPosition
+        /// <since_tizen> 3 </since_tizen>
+        public class KeyEventArgs : EventArgs
         {
-            get
-            {
-                return GetPosition();
-            }
-            set
+            private Key _key;
+
+            /// <summary>
+            /// Key.
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public Key Key
             {
-                SetPosition(value);
+                get
+                {
+                    return _key;
+                }
+                set
+                {
+                    _key = value;
+                }
             }
         }
 
@@ -1743,36 +1720,50 @@ namespace Tizen.NUI
 
         /// <summary>
         /// Feeds a key event into the window.
+        /// This resized event arguments.
         /// </summary>
-        /// <param name="keyEvent">The key event to feed.</param>
-        /// <since_tizen> 5 </since_tizen>
-        public void FeedKey(Key keyEvent)
+        /// <since_tizen> 3 </since_tizen>
+        public class ResizedEventArgs : EventArgs
         {
-            NDalicManualPINVOKE.Window_FeedKeyEvent(Key.getCPtr(keyEvent));
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
-        }
+            Size2D _windowSize;
 
-        /// <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>
+            /// This window size.
+            /// </summary>
+            /// <since_tizen> 4 </since_tizen>
+            public Size2D WindowSize
+            {
+                get
+                {
+                    return _windowSize;
+                }
+                set
+                {
+                    _windowSize = value;
+                }
+            }
         }
 
         /// <summary>
-        /// Allows at least one more render, even when paused.
-        /// The window should be shown, not minimised.
+        /// Please do not use! this will be deprecated
         /// </summary>
-        /// <since_tizen> 4 </since_tizen>
-        public void RenderOnce()
+        /// <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
         {
-            NDalicManualPINVOKE.Window_RenderOnce(swigCPtr);
-            if (NDalicPINVOKE.SWIGPendingException.Pending) throw NDalicPINVOKE.SWIGPendingException.Retrieve();
+            /// <summary>
+            /// Please do not use! this will be deprecated
+            /// </summary>
+            /// <since_tizen> 3 </since_tizen>
+            public bool FocusGained
+            {
+                get;
+                set;
+            }
         }
 
         /// <summary>
index 1ddfc1e..5f04e47 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -34,7 +34,6 @@ 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) =>
         {
@@ -116,8 +115,10 @@ namespace Tizen.NUI
             IsCreateByXaml = true;
 
             Root = new View();
-            Root.WidthResizePolicy = ResizePolicyType.FillToParent;
-            Root.HeightResizePolicy = ResizePolicyType.FillToParent;
+            Root.Size2D = new Size2D(win.WindowSize.Width, win.WindowSize.Height);
+            Root.ParentOrigin = ParentOrigin.TopLeft;
+            Root.PivotPoint = PivotPoint.TopLeft;
+            Root.PositionUsesPivotPoint = true;
 
             win.Add(Root);
         }
index b457dca..17f8497 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)]
-        public /*VisualElement*/BaseHandle ParentView
+        [Obsolete("ParentView is obsolete as of version 2.1.0. Please use Parent instead.")]
+        public BaseHandle ParentView
         {
             get
             {
                 Element parent = Parent;
                 while (parent != null)
                 {
-                    var parentView = parent as /*VisualElement*/BaseHandle;
+                    var parentView = parent as BaseHandle;
                     if (parentView != null)
                         return parentView;
                     parent = parent.RealParent;
@@ -606,23 +606,9 @@ namespace Tizen.NUI.Binding
 
         internal static void SetFlowDirectionFromParent(Element child)
         {
-            // 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();
-            //         }
-            // }
+            var parentView = child.Parent;
+            if (parentView == null)
+                return;
         }
 
         /// <summary>
@@ -646,8 +632,8 @@ namespace Tizen.NUI.Binding
                 ReadOnlyCollection<Element> children = queue.Dequeue().LogicalChildrenInternal;
                 for (var i = 0; i < children.Count; i++)
                 {
-                    var child = children[i] as /*VisualElement*/BaseHandle;
-                    if (child == null /*|| !child.IsVisible*/)
+                    var child = children[i] as BaseHandle;
+                    if (child == null)
                         continue;
                     yield return child;
                     queue.Enqueue(child);
index 243b6b7..add06df 100755 (executable)
@@ -6,7 +6,13 @@ 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 a60df56..504bb7e 100755 (executable)
@@ -8,7 +8,23 @@ 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 81222df..18d99b5 100755 (executable)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Samsung Electronics Co., Ltd.
+ * 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.
@@ -84,7 +84,6 @@ namespace Tizen.NUI
 
         readonly Lazy<PlatformConfigurationRegistry<Page>> _platformConfigurationRegistry;
 
-        bool _allocatedFlag;
         Rectangle _containerArea;
 
         bool _containerAreaSet;
@@ -200,7 +199,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>
@@ -282,7 +281,6 @@ namespace Tizen.NUI
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void ForceLayout()
         {
-            // SizeAllocated(Width, Height);
         }
 
         /// <summary>
@@ -319,19 +317,6 @@ 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>
@@ -352,15 +337,11 @@ 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;
         }
 
@@ -372,10 +353,6 @@ namespace Tizen.NUI
         protected override void OnBindingContextChanged()
         {
             base.OnBindingContextChanged();
-            // foreach (ToolbarItem toolbarItem in ToolbarItems)
-            // {
-            //         SetInheritedBindingContext(toolbarItem, BindingContext);
-            // }
         }
 
         /// <summary>
@@ -388,7 +365,7 @@ namespace Tizen.NUI
         protected virtual void OnChildMeasureInvalidated(object sender, EventArgs e)
         {
             InvalidationTrigger trigger = (e as InvalidationEventArgs)?.Trigger ?? InvalidationTrigger.Undefined;
-            OnChildMeasureInvalidated((/*VisualElement*/BaseHandle)sender, trigger);
+            OnChildMeasureInvalidated((BaseHandle)sender, trigger);
         }
 
         /// <summary>
@@ -407,21 +384,9 @@ 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>
@@ -432,56 +397,34 @@ 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 = (/*VisualElement*/BaseHandle)LogicalChildren[i];
-
-                // if (c.Bounds != startingLayout[i])
-                // {
-                //     LayoutChanged?.Invoke(this, EventArgs.Empty);
-                //     return;
-                // }
+                var c = (BaseHandle)LogicalChildren[i];
+                LayoutChanged?.Invoke(this, EventArgs.Empty);
             }
         }
 
-        internal virtual void OnChildMeasureInvalidated(/*VisualElement*/BaseHandle child, InvalidationTrigger trigger)
+        internal virtual void OnChildMeasureInvalidated(BaseHandle child, InvalidationTrigger trigger)
         {
             var container = this as IPageContainer<Page>;
             if (container != null)
             {
                 Page page = container.CurrentPage;
-                if (page != null /*&& page.IsVisible && (!page.IsPlatformEnabled || !page.IsNativeStateConsistent)*/)
+                if (page != null)
                     return;
             }
             else
             {
                 for (var i = 0; i < LogicalChildren.Count; i++)
                 {
-                    var v = LogicalChildren[i] as /*VisualElement*/BaseHandle;
-                    if (v != null /*&& v.IsVisible && (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
+                    var v = LogicalChildren[i] as BaseHandle;
+                    if (v != null)
                         return;
                 }
             }
-
-            _allocatedFlag = false;
-            // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
-            if (!_allocatedFlag /*&& Width >= 0 && Height >= 0*/)
-            {
-                // SizeAllocated(Width, Height);
-            }
         }
 
         /// <summary>
@@ -503,8 +446,6 @@ namespace Tizen.NUI
 
             var pageContainer = this as IPageContainer<Page>;
             pageContainer?.CurrentPage?.SendAppearing();
-
-            //FindApplication(this)?.OnPageAppearing(this);
         }
 
         /// <summary>
@@ -526,8 +467,6 @@ namespace Tizen.NUI
 
             OnDisappearing();
             Disappearing?.Invoke(this, EventArgs.Empty);
-
-            //FindApplication(this)?.OnPageDisappearing(this);
         }
 
         Application FindApplication(Element element)
@@ -542,29 +481,24 @@ namespace Tizen.NUI
         {
             if (e.OldItems != null)
             {
-                foreach (/*VisualElement*/BaseHandle item in e.OldItems.OfType</*VisualElement*/BaseHandle>())
+                foreach (BaseHandle item in e.OldItems.OfType<BaseHandle>())
                     OnInternalRemoved(item);
             }
 
             if (e.NewItems != null)
             {
-                foreach (/*VisualElement*/BaseHandle item in e.NewItems.OfType</*VisualElement*/BaseHandle>())
+                foreach (BaseHandle item in e.NewItems.OfType<BaseHandle>())
                     OnInternalAdded(item);
             }
         }
 
-        void OnInternalAdded(/*VisualElement*/BaseHandle view)
+        void OnInternalAdded(BaseHandle view)
         {
-            // view.MeasureInvalidated += OnChildMeasureInvalidated;
-
             OnChildAdded(view);
-            // InvalidateMeasureInternal(InvalidationTrigger.MeasureChanged);
         }
 
-        void OnInternalRemoved(/*VisualElement*/BaseHandle view)
+        void OnInternalRemoved(BaseHandle view)
         {
-            // view.MeasureInvalidated -= OnChildMeasureInvalidated;
-
             OnChildRemoved(view);
         }
 
@@ -586,22 +520,20 @@ namespace Tizen.NUI
 
         bool ShouldLayoutChildren()
         {
-            if (!LogicalChildren.Any()/* || Width <= 0 || Height <= 0 || !IsNativeStateConsistent*/)
+            if (!LogicalChildren.Any())
                 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 /*VisualElement*/BaseHandle;
-                if (v != null /*&& (!v.IsPlatformEnabled || !v.IsNativeStateConsistent)*/)
+                var v = LogicalChildren[i] as BaseHandle;
+                if (v != null)
                 {
                     any = true;
                     break;
index 0e2303e..85a45f7 100755 (executable)
@@ -31,10 +31,13 @@ namespace Tizen.NUI.Binding
             DependencyService.Register<IResourcesLoader, ResourcesLoader>();
         }
 
-        [TypeConverter(typeof(TypeTypeConverter))]
-        [Obsolete("Use Source")]
+        /// <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")]
         public Type MergedWith {
             get { return _mergedWith; }
             set {
@@ -56,9 +59,12 @@ namespace Tizen.NUI.Binding
             }
         }
 
-        [TypeConverter(typeof(RDSourceTypeConverter))]
+        /// <summary>
+        /// Gets or sets the URI of the merged resource dictionary.
+        /// </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(RDSourceTypeConverter))]
         public Uri Source {
             get { return _source; }
             set {
@@ -68,7 +74,14 @@ namespace Tizen.NUI.Binding
             }
         }
 
-        //Used by the XamlC compiled converter
+        /// <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.
         [EditorBrowsable(EditorBrowsableState.Never)]
         public void SetAndLoadSource(Uri value, string resourcePath, Assembly assembly, System.Xml.IXmlLineInfo lineInfo)
         {
@@ -215,9 +228,12 @@ namespace Tizen.NUI.Binding
             return _innerDictionary.ContainsKey(key);
         }
 
-        [IndexerName("Item")]
+        /// <summary>
+        /// Gets or sets the value according to index.
+        /// </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)]
+        [IndexerName("Item")]
         public object this[string index]
         {
             get
index 85c6aea..baee6f1 100755 (executable)
@@ -4,10 +4,14 @@ using System.ComponentModel;
 
 namespace Tizen.NUI
 {
-    [AttributeUsage(AttributeTargets.Assembly, AllowMultiple = true)]
-    [DebuggerDisplay("{XmlNamespace}, {ClrNamespace}, {AssemblyName}")]
+    /// <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}")]
     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.